我正在用C++编写一个程序,它应该从用户那里获取一个输入字符串,打印它并要求用户再次键入另一个字符串并再次打印,直到用户按下返回键而不键入任何字符串.在这种情况下,程序应退出.
我想出了以下内容,但它没有按预期工作.有任何想法吗?
int main(){
string surname;
int c;
while (true) {
surname = "";
cout << "Enter surname (RETURN to quit): ";
c = cin.get();
if (c == '\n') {
break;
}
cin >> surname;
cout << surname << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你不需要std::string像这样初始化:string surname; surname = "";没有必要.
您可以使用getline函数,然后检查此字符串是否empty如下所示:
string surname;
cout << "Enter surname (RETURN to quit): ";
while (getline(cin, surname))
{
if (surname.empty())
break;
cout << surname << endl << "Enter surname (RETURN to quit): ";
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
16935 次 |
| 最近记录: |