【发布时间】:2009-08-12 03:19:31
【问题描述】:
string s;
getline(cin,s);
while (HOW TO WRITE IT HERE?)
{
inputs.push_back(s);
getline(cin,s);
}
【问题讨论】:
string s;
getline(cin,s);
while (HOW TO WRITE IT HERE?)
{
inputs.push_back(s);
getline(cin,s);
}
【问题讨论】:
由于今天懒得给出完整的答案,我就贴一下 Freenode 上##c++ 中真正有用的机器人要说的话:
使用“while (!stream.eof()) {}”几乎肯定是错误的。改用流的状态作为测试值:while (std::getline(stream, str)) {}。更多解释见http://www.parashift.com/c++-faq-lite/input-output.html#faq-15.5
换句话说,你的代码应该是
string s;
while (getline(cin, s))
{
inputs.push_back(s);
}
【讨论】:
string s;
getline(cin,s);
while (!cin.eof)
{
inputs.push_back(s);
getline(cin,s);
}
【讨论】: