【发布时间】:2014-04-04 08:51:46
【问题描述】:
我正在使用 getline 获取输入,并且我想将每一行输入存储到一个数组中,以便我可以调用特定的数组内容以进行进一步处理。有任何想法吗?提前致谢
string line;
while (true) {
getline(cin, line);
if (line.empty()) {
break;
}
// code
}
编辑/添加
有谁知道为什么我不能在 while 循环之前使用cin?例如,当我把
cin >> var1; 在循环之前它根本不会进入循环!
回答我自己
我发现this 解决了!
【问题讨论】:
-
std::vector<std::string>是你的朋友。 -
顺便问一下,您真的要在第一个空行上完全停止处理输入吗?或者只是忽略那条线?另外,我建议将
getline移动到循环条件中,以便您阅读并立即检查它是否成功:while(std::getline(std::cine, line)) { ... }。 -
是的,只要用户给出,我就想得到输入,然后用空行向我的程序发出信号,表示没有更多的输入,除了提示之外,我想不出更好的方法用户在输入最后一次输入时按两次回车...
标签: c++ arrays dynamic input getline