如何将文件的元素放入列表?

时间:2017-01-28 02:04:34

标签: c++ list file

我正在调查,但没有找到很多信息。现在我对如何将文件的元素放入列表以及如何打印列表感到困惑。

std::string line;
std::list<string> l;

//read first file
ifstream myfile("Dataset.1.02.txt");
if (myfile.is_open()) {
    getline(myfile, line);
    while (getline(myfile, line) /**/) {
        l.push_back(line);
    }
    myfile.close();
}

for (auto v : l) {
    std::cout << v << "\n";
}

1 个答案:

答案 0 :(得分:3)

这大部分是正确的。您只需将循环重新排列为如下所示:

std::string line;
std::list<std::string> l;

//read first file
std::ifstream myfile ("Dataset.1.02.txt");
if (myfile.is_open()){
    if (getline(myfile, line)) {
        do {
            l.push_back(line);
        } while(getline(myfile, line));
    }
    myfile.close();
}

for (auto v : l){
    std::cout << v << "\n";
}

if处理文件为空的情况。然后,一旦我们有一条线,我们在列表中添加一行并尝试阅读下一行。如果我们没有读一行,我们就完成了。