使用getline c ++将每行输入存储在一个数组中

时间:2014-03-03 10:40:21

标签: c++ arrays dynamic input getline

我正在使用getline来获取输入,我想将每个行输入存储到一个数组中,以便我可以调用特定的数组内容以供进一步处理。有任何想法吗?提前致谢

string line;

while (true) {

    getline(cin, line);

    if (line.empty()) {
        break;
    }
    // code

}

EDIT / ADD

有人知道为什么我不能在while循环之前使用cin吗?例如我放的时候     在循环之前cin >> var1;它根本不会进入循环内部!

回答自己

我找到了解决它的this

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是使用矢量容器:

 std::vector<std::string> arr;

然后:

arr.push_back(line);

答案 1 :(得分:1)

使用vector<string> vec;

从文件中读取的更好方法如下

string line;

while (getline(cin, line)) {

if (line.empty()) {
    break;
}
vec.push_back(line);
// code

}

一旦达到EOF,循环就会中断...