📜  从文件中读取行到向量 c++ (1)

📅  最后修改于: 2023-12-03 14:49:25.490000             🧑  作者: Mango

从文件中读取行到向量 - C++

在C++中,要从文件中读取行到向量需要用到STL库中的fstreamvector头文件。

打开文件

首先,我们需要打开文件来读取数据。这可以使用ifstream对象完成。代码如下所示:

#include <fstream>

std::ifstream infile("example.txt");

这将创建一个指向文件example.txt的输入文件流对象。

读取行

接下来,我们可以从打开的文件中读取行。我们可以使用std::getline()方法来实现这个目的,如下所示:

std::string line;
std::vector<std::string> lines;

while (std::getline(infile, line)) {
    lines.push_back(line);
}

在这里,我们定义了一个名为line的字符串变量,用于存储每个从文件读取的行。接着,我们定义了一个名为lines的字符串向量变量,用于存储文件中所有的行。iostream的getline()方法将每一行读取到line中,如果存在的话将line插入lines中。

完整代码

下面是一个完整的示例程序,它读取文件中的所有行,将它们存储在一个向量中,然后打印所有行:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main()
{
    std::vector<std::string> lines;
    std::string line;
    std::ifstream infile("example.txt");

    while (std::getline(infile, line)) {
        lines.push_back(line);
    }

    for (auto &l : lines) {
        std::cout << l << '\n';
    }

    return 0;
}
总结

现在您已经知道如何从文件中读取行到向量了。请记住,确保始终在读取完数据后关闭你打开的文件,以避免由于未关闭文件导致的资源泄漏等问题。如果你需要更多关于文件输入输出的相关信息,可以查阅C++标准文档或者使用在线查询工具。