在C++中读取CSV文件数据可以使用标准库中的fstream和sstream来实现。以下是一个简单的例子:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
int main() {
// 打开CSV文件
std::ifstream file("data.csv");
// 检查文件是否成功打开
if (!file.is_open()) {
std::cerr << "Error opening file" << std::endl;
return 1;
}
std::vector<std::vector<std::string>> data;
// 逐行读取文件内容
std::string line;
while (std::getline(file, line)) {
std::vector<std::string> row;
std::stringstream ss(line);
std::string cell;
// 以逗号为分隔符,将每个单元格存入vector
while (std::getline(ss, cell, ',')) {
row.push_back(cell);
}
data.push_back(row);
}
// 输出文件内容
for (const auto& row : data) {
for (const auto& cell : row) {
std::cout << cell << " ";
}
std::cout << std::endl;
}
// 关闭文件
file.close();
return 0;
}
上述代码首先打开名为"data.csv"的CSV文件,然后逐行读取文件内容,并将每个单元格的数据存入一个二维vector中。最后,将读取的数据输出到控制台。您可以根据您的CSV文件的格式进行必要的更改。