C++将存储UINT8数据的CSV文件读取到一个二维vector数组内
时间: 2024-03-12 16:49:58 浏览: 144
可以使用C++标准库中的fstream和vector来实现。
以下是一个简单的实现示例:
```c++
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
// 读取CSV文件到二维vector数组
std::vector<std::vector<uint8_t>> read_csv_file(const std::string& filename)
{
std::vector<std::vector<uint8_t>> data;
std::ifstream file(filename);
if (!file.is_open()) {
throw std::runtime_error("Failed to open file: " + filename);
}
std::string line;
while (std::getline(file, line)) {
std::stringstream ss(line);
std::string cell;
std::vector<uint8_t> row;
while (std::getline(ss, cell, ',')) {
row.push_back(static_cast<uint8_t>(std::stoi(cell)));
}
data.push_back(row);
}
return data;
}
```
使用时,只需要传入CSV文件的路径即可:
```c++
auto data = read_csv_file("data.csv");
```
需要注意的是,此处假设CSV文件中的每个单元格都是一个整数,并且每行的元素数量是相同的。如果CSV文件中包含其他类型的数据或者每行元素数量不同,需要根据实际情况进行修改。
阅读全文