K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>>①で、入力を終えるには、Windowsなら、数値をいくつか入力後、 >>>Ctrl+Z を押してからENTERを押してください。 >> >>このような一時停止、再開操作をするプログラムを初めて知りました。 >>while(...,stdin)で、たしかに終わりどころは・・・・と思ってもいました。 > >ちょっと不安を感じるのですが、このプログラムで「一時停止、再開動作」を >しているのは、fgets()のところで入力待ちの時に一時停止、入力してENTERを >押したら再開、というところです。しかしこれはgetchar()だろうが >scanf()だろうがfgets()だろうがキーボードで入力待ちになったら発生することです。 > >while (fgets(buf, 256, stdin) != NULL) { > … > >というループが終了するのは、見ての通りfgets()がNULLを返した時です。 >fgets()がNULLを返すのは、ファイルの終わりが来た時で、標準入力 >(デフォルトではキーボード)で、ファイルの終わり(EOF: End Of File)を >示す手段が、WindowsではCtrl+Z、ENTERだということです。 >Macは私は持ってませんが、ターミナルでEOFを示す方法は、(UNIXと同じく) >Ctrl+Dだと思います。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!