可以按照行读取文件,并按照空格分割每一行的内容存储到 vector 中,具体实现如下:
#include <fstream>
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
int main() {
vector<vector<string>> data; // 定义一个二维 vector 用来存储数据
ifstream in_file("file.txt"); // 打开文件
if (!in_file) {
cerr << "无法打开文件!" << endl;
return 1;
string line;
while (getline(in_file, line)) { // 逐行读取文件内容
vector<string> row; // 定义一个 vector 用来存储每一行的数据
stringstream ss(line);
string field;
while (getline(ss, field, ' ')) { // 按照空格分割每一行的内容
row.push_back(field); // 将分割后的内容存储到 vector 中
data.push_back(row); // 将每一行的数据存储到二维 vector 中
in_file.close(); // 关闭文件
// 输出二维 vector 中的数据
for (const auto& row : data) {
for (const auto& field : row) {
cout << field << " ";
cout << endl;
return 0;
其中,ifstream
是 C++ 的文件输入流类,用于打开文件并从文件中读取数据。getline
函数用于逐行读取文件内容,stringstream
是用于字符串流处理的类,可以将字符串按照指定的分隔符进行分割。vector
是 C++ 的标准容器,用于存储一组数据。最后,我们遍历二维 vector,输出其中的数据。