C++ 读取.txt文件数据,txt文件数据中每一列按空行分割
时间: 2024-10-22 17:05:19 浏览: 11
在C++中,要读取`.txt`文件的数据,其中每一列由空行隔开,可以使用`fstream`库来处理文件流,并配合`getline`函数来逐行读取。假设文件中的数据格式类似于表格,每列之间只有一个换行符作为分隔,你可以按照下面的步骤操作:
1. 打开文件:
```cpp
#include <fstream>
#include <vector>
#include <string>
std::ifstream file("data.txt"); // 替换成你的文件路径
if (!file.is_open()) {
std::cerr << "Failed to open the file!" << std::endl;
return; // 或者处理错误情况
}
```
2. 使用`getline`逐行读取,当遇到空行时,认为已到达一列的结束:
```cpp
std::vector<std::vector<std::string>> data;
std::string line;
while (std::getline(file, line)) {
if (line.empty()) { // 空行表示一列结束
data.push_back({});
continue;
}
std::istringstream iss(line);
std::string column;
while (iss >> column) {
data.back().push_back(column); // 添加到当前列
}
}
```
3. 关闭文件:
```cpp
file.close();
```
现在,`data`是一个二维字符串向量,每一列的内容存储在一个内部的一维向量中。
阅读全文