C++ 将二维容器写进CSV文档中
时间: 2024-09-15 10:12:12 浏览: 46
在C++中,将二维容器转换成CSV(Comma Separated Values,逗号分隔值)文件可以利用一些第三方库,比如`csv-parser`、`csvw`或自定义函数。以下是使用`fstream`和简单的迭代器来实现这个功能的一个示例,假设已经有一个名为`strMatrix`的二维`std::vector<std::string>`:
```cpp
#include <fstream>
#include <sstream>
#include <iterator>
void writeToCSV(const std::vector<std::vector<std::string>>& matrix, const std::string& filename) {
std::ofstream file(filename);
if (!file.is_open()) {
std::cerr << "Failed to open the file." << std::endl;
return;
}
// 写入表头(如果有的话)
file << "Column1, Column2, ... , Column7\n";
// 遍历矩阵并将每一行写入CSV
for (const auto& row : matrix) {
std::stringstream ss;
for (const auto& cell : row) {
ss << cell << ",";
} // 删除最后一个逗号
ss.seekp(-1, std::ios_base::end);
file << ss.str() << "\n";
}
file.close();
}
// 使用示例
writeToCSV(strMatrix, "output.csv");
```
这个函数首先尝试打开一个文件,然后写入表头(这里的“Column1”到“Column7”应替换为你实际的列名)。接着,它遍历矩阵的每个元素,并将它们连接成CSV格式的一行。
阅读全文