プログラマー軍団がC/C++の宿題を解決します 34代目
■ このスレッドは過去ログ倉庫に格納されています
0728デフォルトの名無しさん
NGNGif( fgets(buf,MAXLEN,stdin) ) {
printf("==%s==\n",buf);
}
これを実行し、キーボードから abc<RET> と入力すると(<RET>は改行)
==abc
==
と出力されます。これは理解出来る。次に abc<CTRL-D><CTRL-D> と入力すると
==abc==
と出力されます。なぜ <CTRL-D>が2個必要なのか、という質問なのですが。
ちなみに、abc<CTRL-D>de<RET> と入力すると
==abcde
==
と出力されます。
文字列を何も入力せずいきなり <CTRL-D>をたたくとなにも出力されません
( if( fgets() ) が false になる)。この場合は <CTRL-D> 1個で済みます。
(Linux での話です。DOS だと <CTRL-Z> が2回必要なのでしょうか。確認していません)
■ このスレッドは過去ログ倉庫に格納されています