2016-07-30 7 views
0

Ich habe eine Exe-Datei (echo_eof.exe) hergestellt, die in C. Der Code wie folgt geschrieben geht:Ist EOF in der TXT-Datei versteckt?

#include <stdio.h> 

int main(void) 
{ 
    int ch; 

    while ((ch = getchar()) != EOF) 
     putchar(ch); 

} 

Dann tippte ich echo_eof < words.txt in Windows cmd, wo Worte. txt wird geschrieben als

Hello world! 

Die Befehlsausgabe ist

Hello world! 

I ha Ich habe EOF nie in die Textdatei geschrieben, aber EOF scheint in der Textdatei versteckt zu sein. Ist das wahr? Wenn ja, gibt es eine Möglichkeit, den versteckten EOF in der Textdatei zu sehen?

+0

Nein, es ist ein OS-Wert – cutzero

Antwort

1

Wenn Ihre Lesefunktion am Ende der Datei steht und kein anderes Symbol (wahrscheinlich char) erhalten kann, wird Ihnen mitgeteilt, dass Sie EOF erreicht haben. Dies ist nicht in der Datei, es ist ein Signal vom Dateihandler.