これが私のコードです。「Ctrl+Z」と入力すると終了するはずですが、ループモードになり、最後の単語の書き込みを繰り返します。
#include <iostream>
using namespace std;
int main()
{ char word[80];
do
{ cin >> word;
if (*word) cout << "\t\"" << word << "\"\n";
} while (*word);
}
「Ctrl+Z」を押すと、この単純なプログラムは終了するはずですが、なぜこのように進まないのですか?何が問題なのですか?
このコードを見てください:
{ char line[80];
do
{ cin.getline(line,80);
if (*line) cout << "\t[" << line << "]\n";
} while (*line);
}
最初のコードと似ていますが、今回は正常に動作しており、「Ctrl+Z」を押すとループを終了します。
では、最初のコードの正確な問題は何ですか?