Heim > Fragen und Antworten > Hauptteil
vector<string> ivec;
string str;
while(cin >> str)
ivec.push_back(str);
请问如何实现输入数据按回车结束,而不是crtl +z
PHP中文网2017-04-17 12:04:55
这个问题不应该判断str是否等于'\n'或者"\n",而应该判断str是否为空,即
vector<string> ivec;
string str;
while(getline(cin, str))
if (str.empty()) break;
ivec.push_back(str);
原因:当你不输入任何字符而只敲一下回车的时候,getline只遇到了一个换行符,getline将其提取并抛弃,所以str为空。