【发布时间】:2011-01-03 15:19:50
【问题描述】:
我正在尝试在一个字符串变量中收集用户的输入,该变量在指定的时间内接受空格。
由于通常的 cin >> str 不接受空格,所以我会使用 std::getline from
这是我的代码:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
string local;
getline(cin, local); // This simply does not work. Just skipped without a reason.
//............................
}
//............................
return 0;
}
有什么想法吗?
【问题讨论】:
-
很少有事情会无缘无故地失败。
-
在 for 循环之前尝试以下操作: std::cout
-
是的。 n 被正确读取。我为 n 输入了 2,它打印出“n: 2”
-
我想我已经解决了你的问题。但是关于您的调试,您确实尝试了 2 以外的其他值,对吗?进入循环,它只是“跳过”第一个条目。