在C++中讀取CSV文件中的數據通常需要使用文件流(ifstream)和字符串流(stringstream)來處理。以下是一個示例代碼,演示如何讀取CSV文件中的數據:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
int main() {
// 打開CSV文件
std::ifstream file("data.csv");
std::vector<std::vector<std::string>> data; // 用來存儲CSV文件中的數據
// 逐行讀取文件
std::string line;
while (std::getline(file, line)) {
std::vector<std::string> row;
std::stringstream ss(line);
std::string cell;
// 逐個單元格讀取數據
while (std::getline(ss, cell, ',')) {
row.push_back(cell);
}
data.push_back(row); // 將當前行數據存入data中
}
// 輸出讀取的數據
for (const auto& row : data) {
for (const auto& cell : row) {
std::cout << cell << " ";
}
std::cout << std::endl;
}
return 0;
}
在這個示例中,我們首先打開了名為“data.csv”的CSV文件,并使用getline函數逐行讀取文件內容。然后,在內部循環中,我們使用stringstream和getline函數來逐個單元格讀取每行數據,并將其存儲在二維向量data中。最后,我們遍歷data向量,并輸出讀取的數據。
請注意,上面的示例假設CSV文件中的數據以逗號作為分隔符。如果CSV文件中使用其他分隔符,只需將getline函數的第三個參數改為相應的分隔符即可。