我正在调查,但没有找到很多信息。现在我对如何将文件的元素放入列表以及如何打印列表感到困惑。
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";
}
答案 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
处理文件为空的情况。然后,一旦我们有一条线,我们在列表中添加一行并尝试阅读下一行。如果我们没有读一行,我们就完成了。