假设我想从输入中读取 a 行整数,如下所示:
1 2 3 4 5\n
我希望 cin 停在 '\n' 字符处,但 cin 似乎无法识别它。
下面是我用过的。
vector<int> getclause() {
char c;
vector<int> cl;
while ( cin >> c && c!='\n') {
cl.push_back(c);
cin>>c;
}
return cl;
}
我应该如何修改它,以便 cin 在看到 '\n' 字符时停止?
使用 getline 和 istringstream:
#include <sstream>
/*....*/
vector<int> getclause() {
char c;
vector<int> cl;
std::string line;
std::getline(cin, line);
std::istringstream iss(line);
while ( iss >> c) {
cl.push_back(c);
}
return cl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)