[2256] Re:C言語体当り学習 filter.cプログラム
投稿者:Hiroyuki Naito
2021/06/27 09:08:27
ご回答ありがとうございました。
今まで^Zによって、キーボードからはEOF(-1)が出力されると思い込んでいました。
「getchar()が行頭の^Z(=26)をファイルの末尾と判断して、EOFを戻り値として
出力する」というご説明ですっきりしました。
>つまり、コマンドプロンプト上で^Zを入力すると、それが行頭である場合に限り
>getchar()はEOFを返すが、そうでなければ^Zをそのまま返す、ただし、行内で
>^Zより後ろの文字は返さない、ということになります。
>これは、コマンドプロンプトの端末ドライバの仕様ということになると思います。
----- 中略 -----
>ファイルの末尾に来たらEOFを返す、というだけで、そのEOFはどこからも読み込まれる
>わけではありません。Hiroyuki Naitoさんも試されたとおり、^Zは26であって
>-1ではありません。
>