私は「Cプログラミング言語(第2版)」を読んでいて、冒頭近くに次のような例があります。
while((c = getchar()) != EOF)
if(c == '\n'){
++n1;
ファイルからの読み取り中にこれがどのように機能するかを確認でき、この構文を理解しています...しかし、これはコンソールからの読み取りにすぎません。コンソールから文字を入力するときに、ファイルの終わりをどのように通知するのでしょうか。私はWindowsXPを使用しています...MinGWコンパイラ...とにかく、この本はEOFボタンなどを備えた以前のシステム用に書かれていましたか?
アップデート
さて、もう1つ質問があります。それは、Windowsでのファイルの終わりの動作に関連しています。
、だけwhile(getchar()!=EOF);
の場合は、^ Zを介してEOFを通知するまで、文字を入力し続けることができます。しかし、私は改行を書き、次に^ Zを押し、次に別の改行を押す必要があります...なぜそれはそれ自身の行になければならないのですか?