Ich versuche nur jedes Zeichen der Datei zu lesen und es auszudrucken, aber wenn die Datei zu Ende gelesen, aber ich bekomme eine Menge? nach dem Lesen. Wie repariere ich es?Wie kann ich aufhören zu lesen von Datei in C
#include <stdio.h>
int main(void){
FILE *fr; /* declare the file pointer */
fr = fopen ("some.txt", "r"); /* open the file for reading */
/* elapsed.dta is the name of the file */
/* "rt" means open the file for reading text */
char c;
while((c = getc(fr)) != NULL)
{
printf("%c", c);
}
fclose(fr); /* close the file prior to exiting the routine */
/*of main*/
return 0;
}
Haben Sie versucht, mit allen Warnungen zu kompilieren? Ich habe das Gefühl, dass Ihre while-Schleife das Problem ist, aber ich bin mir nicht sicher. Wenn es das ist, was ich denke, wird eine Warnung angezeigt, wenn Sie mit allen aktivierten Warnungen kompilieren. –
Alles, was Sie über FILE wissen müssen, finden Sie hier: http://www.cplusplus.com/reference/clibrary/cstdio/FILE/ – Phong
Sie sollten vorsichtiger sein bezüglich des Rückgabetyps von 'getc()', und das auch erkennen 'NULL' ist ein Zeiger. –