使用boost文件系统C ++逐行读取文件

时间:2016-01-17 07:51:38

标签: file parsing boost filesystems

我正在使用boost :: filesystem库打开一个具有特定路径file_path的文件:

 fs::ifstream file(file_path);
    string str;
    vector<string> filenames;
    while(getline(file, str)){
        filenames.push_back(str);
    }

此代码已从常规C ++代码改编而无需提升。我最初是在放在当前目录中的文件中读取,但我必须编辑路径。现在看来getline无法正常工作。是否有getline的替代方法,以便我可以逐行解析文件并将其读入向量?

谢谢!

2 个答案:

答案 0 :(得分:4)

boost::filesystem::ifstream只是另一个输入流,所有标准算法都适用于std::ifstreamstd::getline也可以使用它。

答案 1 :(得分:1)

以上答案完全正确。如果有人想要完整的代码:

boost::filesystem::ifstream fileHandler(fileName);
string line;
while (getline(fileHandler, line)) {
    cout << line << endl;
}