fgets ließt letzte zeile doppelt
-
Hallo Freunde,
in meinem text file ist die letzt zeile eine leere zeile, das die zeile davor ein \n am ende hat.
dadurch ließt das fgets die letzte zeile doppelt, weil die while schleife noch nicht zu ende ist, kann man das lösen???
-
kann man das lösen???
Natürlich..
-
und wie???
-
Tja, das ist immer sehr schwierig zu sagen, wenn man keinerlei Beispielcode geliefert bekommt.
-
code
int main(void)
{
FILE *pFile;
char zeile[50];pFile=fopen("Hallo.txt","rt");
while(!feof(pFile))
{
fgets(zeile,50,pFile);
printf("%s",zeile);
}
return 0;
}In "Hallo.txt" steht:
wie gehts\n
Output:
wie gehts
wie gehts
-
Lies mal: http://www.manpagez.com/man/3/fgets/
If end-of-file occurs before any characters are read, they return NULL and the buffer contents remain unchanged.
Reicht das als Hinweis?
-
Mache es so, dann klappts..
while(fgets(zeile,50,pFile)) { printf("%s",zeile); }
Gruß,
DC
-
Vielen Dank Leute