【发布时间】:2014-02-16 05:26:37
【问题描述】:
Set2 while 循环由于某种原因没有填充。 Set1 工作得很好。
std::stringstream ss;
std::string line;
std::getline(infile, line);
ss.str(line);
int input;
// Populate set1
while(ss >> input)
{
set1.insert(input);
std::cout << "Populate set1 with " << input << "\t pos is " << set1.getUsed() << std::endl;
}
// Populate set2
std::getline(infile, line);
ss.str(line);
std::cout << "\n2nd getline verification: " << line << std::endl;
while (ss >> input)
{
set2.insert(input);
std::cout << "Populate set2 with " << input << "\t pos is " << set2.getUsed() << std::endl;
}
它只填充 set1 而不是 set2。感谢您的帮助。
编辑:现在是 getline,谢谢。但它不会将“line”中的值导入 ss 字符串流,因此由于某种原因,set2 的第二个循环无法识别。
【问题讨论】:
-
你的程序做什么?
infile在哪里定义?你打开文件了吗? -
是的,它已定义。 set1 导入就好了。 set2 没有。
-
如果您已经解决了之前的问题,请更新代码以反映这一点,因为保留旧代码并在没有任何证据的情况下引用更正且有效的更新是非常令人困惑的。另外,
set1和set2是什么?我知道它们是布景,但它们的目的是什么? -
@jrd1 实际上,没有。代码不应该更新,所以不是原型网站。根据您的回答,此问题应标记为已回答,并且应针对新问题打开一个新问题。这也将帮助 OP 将他的问题简化为更小的问题,这可能有助于他自己解决问题。恕我直言。
标签: c++ file getline stringstream file-io