39

私はCプログラムを持っています。

int main ()
{
    if (getchar()!=EOF)
        puts("Got a character");
    else
        puts("EOF");
}

EOF を生成するには、端末の stdin に何を入力すればよいですか?

4

4 に答える 4

66

Windows では、Control+Z「ファイルの終わり」を意味する典型的なキーボード ショートカットです。Linux と Unix では、通常はControl+Dです。

于 2012-08-15T11:45:47.970 に答える
16
  1. EOFは、ある理由でマクロにラップされています。値を知る必要はありません。
  2. Ctrlコマンドラインから、プログラムを実行しているときに、 - D(Unix)またはCTRL- Z(Microsoft)を使用してEOFをプログラムに送信できます。
  3. プラットフォームでのEOFの値を判断するには、いつでもそれを印刷できます。

    printf ("%i\n", EOF);
    
于 2012-08-15T11:47:54.367 に答える
7

EOFは次の方法でシミュレートできます。

  • Windows:ctrl+Z
  • Unix:ctrl+D
于 2012-08-15T11:39:53.567 に答える
4

これまでのところ他の回答では言及されていませんが、実際に EOF を通知するには、正しいキーの組み合わせ (^D または ^Z) を 2 回または 3 回押す必要がある場合があります。説明はこちらをご覧ください。

于 2018-10-18T21:03:10.210 に答える