現在、KRの本を読んで、最初のセクションの例を入力していますが、次のような例がいくつかあります。
while((c = getchar()) != EOF) {
//do something
}
これらの例をWindowsボックスでテストしているため、cmd
プロンプトからコンパイル済みのexeファイルを実行しています。
上記の例をテストするには、どのようにEOF
をシミュレートしますか?つまり、基本的に、コマンドプロンプトから例をテストするときにループを停止するにはどうすればよいですか?
EOFを入力するには、次を使用します。
Windows: Ctrl+Z
Unix :Ctrl+D
最初に:Ctrl ^ X、次に:Ctrl ^ Dを押します
Int変数に-1の値を明示的に指定することにより、EOFをシミュレートすることもできます。
より明確にするためにこのコードをチェックしてください:
#include<stdio.h>
int main() {
// char ch=getchar()
// int ch=-1;
if(ch==EOF) { printf("\nEOF: %d",EOF); }
if((ch!=EOF)==0) { printf("\nit is equal to 0"); }
if((ch!=EOF)==1) { printf("\nit is equal to 1"); }
else { printf("\n it is equal to other value"); }
system("pause");
return 0;
}