我目前正在学习 C++,我被要求使用 while 函数编写代码。代码运行,但它不打印 Dear ...
行。我在这里做错了什么?
cout << "Hello! Please write your recipient and the letter, then press enter:\n";
string name{ "" };
string current{ "" };
string letter{ "" };
cin >> name;
while (cin >> current){
if (current != name){
letter += " " + current;
}
}
cout << "Dear " << name << "," << letter;
keep_window_open();
return 0;
最佳答案
要输出结果,您必须将 cin >> current
设置为 false。为此,使用 Ctrl-D
将文件结尾 (EOF) 发送到 cin
,这将导致循环停止执行。
编辑:显然在 Windows 中,序列是 Ctrl-Z
。
编辑:如@pdw 所述,cout
需要刷新。这通常在有换行符时完成,但由于您没有换行符,您可以使用 std::flush
或 std::endl
:
cout << "Dear " << name << "." << letter << std::flush;
关于c++ - 学习 C++,我不知道我在这里做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759965/