Er gibt mehr aus als er sollte
-
Hallo ich wollte ein Program schreiben des den Text einer txt Datei ausgibt nun bin ich auf ein Problem gestoßen. Er gibt am ende immer noch 4mal"²" aus obwohl das nicht in der Txt Datei steht woran liegt das hier des ganze code:
#include<stdio.h> #include<stdlib.h> void main() { FILE* Daten=fopen("Bla.txt","r"); char *Buffer=NULL; int Lenge=0; fseek(Daten,0,SEEK_END); Lenge=ftell(Daten); fseek(Daten,0,SEEK_SET); Buffer=(char*)malloc(Lenge); for(int i=0;i<Lenge;i++) { Buffer[i]=(char)fgetc(Daten); } printf(Buffer); printf("\n"); free(Buffer); fclose(Daten); }
-
das kommt davon, wenn man seinen String nicht mit 0 terminiert
BTW.
ist void main falsch! du musst int main(void) benutzen
-
Warum ist void man falsch ich kan ndes so auch benutzten habe ich gedacht
-
Original erstellt von Arniferkel:
Warum ist void man falsch ich kan ndes so auch benutzten habe ich gedachtvoid main ist trotzdem falsch - schau mal in die FAQ