[2367] Re:ポインタ完全制覇 LIST 4-4 realloc.c
投稿者:トト
2024/03/11 21:13:50
返信が遅くなりまして、すみません。
昨夜,投稿に気づきました。
指摘して頂きありがとうございます。
違った解釈をしていました。
【 指摘前(c言語 サイト参照) 】
[Ctrl]+[z]... Mac
↓
“ [1] + Stopped ./a.out ” ... 停止(Macターミナル表示)
[fg] 又は [fg 1] と入力。 ... 再開
↓
(例)(Macターミナル表示)
variable_array[0]..12
variable_array[1]..2
variable_array[2]..1
:
:
をしていまし。
>ちょっと不安を感じるのですが、このプログラムで「一時停止、再開動作」を
>しているのは、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だと思います。
【 指摘後 】
[ Ctrl ] + [ D ]でした。
EOFを入力する手段とは知りませんでした。
(もしかした今まで学習サイトで目にしているのに、忘れているのかもしれません)
質問の仕方が初めから「どうしたらwhile(...(stdin)...!=NULL)ナルを返せますか?(Mac使用)」と、
私が聞ければよかったです。お手間取らせました。
不安を感じて指摘して頂きありがとうございました。