- 119 名前:デフォルトの名無しさん mailto:sage [2012/12/12(水) 19:10:05.93 ]
- >>104
こちらの環境(Scientific Linux 6.3 + gcc 4.4.6)だと、 Ctrl+d で scanf() の戻り値が -1 になって break するけど、 そちらの環境(Windows?)だと Ctrl+d で抜けるのが利かないのかな。 例えば、 > if (scanf("%s", data[i].name) != 1)/* Ctrl+Dが押されたらbreakでループを抜ける */ > break; ↓ > scanf("%s", data[i].name); > if (data[i].name[0] == 'q' && data[i].name[1] == '\0') /* 'q'が入力されたらbreakでループを抜ける */ > break; 'q' とかで終了するよう改造してみたらどうだろうか? あるいは、Windowsなら conio.h の _getch() と _ungetch() を組み合わせてみるとか…
|

|