C++ 读取.txt文件数据,txt文件数据中每一行的列数据按空格分割
时间: 2024-10-22 13:25:19 浏览: 32
C++ 读取txt数据(带空格数据)测试数据
在C++中,读取文本文件(.txt)的数据,特别是当数据是以空格分隔的每行列数据时,可以使用标准库中的fstream (文件流) 和getline() 函数。以下是一个简单的示例:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("yourfile.txt"); // 替换 "yourfile.txt" 为你实际的文件路径
if (!file.is_open()) {
std::cerr << "无法打开文件!" << std::endl;
return 1;
}
std::string line;
while (std::getline(file, line)) { // 逐行读取
std::istringstream iss(line); // 创建一个输入流来处理每行
std::string column;
std::vector<std::string> columns; // 存储每行的列数据
while (iss >> column) { // 按空格分割列数据
columns.push_back(column);
}
// 现在columns里存储了按空格分割的列数据
for (const auto& value : columns) {
std::cout << value << " ";
}
std::cout << "\n"; // 每一行数据后加换行符
columns.clear(); // 清空当前行数据以便下次处理
}
file.close();
return 0;
}
```
在这个例子中,`while`循环会一直读取文件直到文件结尾,每次读取到的一行会被存储在`line`变量中。然后,我们创建了一个`istringstream`,并使用`>>`操作符按照空格将每一行分割成多个字符串,存入`columns`向量中。
阅读全文