📅  最后修改于: 2023-12-03 14:49:25.490000             🧑  作者: Mango
在C++中,要从文件中读取行到向量需要用到STL库中的fstream
和vector
头文件。
首先,我们需要打开文件来读取数据。这可以使用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++标准文档或者使用在线查询工具。