溫馨提示×

C++中怎么讀取CSV文件

c++
小億
324
2024-04-15 18:13:09
欄目: 編程語言

在C++中讀取CSV文件可以使用文件流操作符<<>>,以及getline()函數。以下是一個簡單的示例代碼:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <sstream>

int main() {
    std::ifstream file("data.csv");
    std::vector<std::vector<std::string>> data;

    if (file.is_open()) {
        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);
        }

        file.close();
        
        // 輸出CSV數據
        for (const auto& row : data) {
            for (const auto& cell : row) {
                std::cout << cell << " ";
            }
            std::cout << std::endl;
        }
    } else {
        std::cout << "Failed to open file." << std::endl;
    }

    return 0;
}

在這個示例中,我們首先打開名為"data.csv"的CSV文件,然后使用getline()函數逐行讀取文件內容。對于每一行,我們使用stringstream對象解析每個單元格,并將其存儲在一個vector<string>中。最后,我們將每行數據存儲在一個vector<vector<string>>中,其中每個向量代表一行數據。最后,我們遍歷這個二維向量并輸出CSV數據。

注意:這里假設CSV文件中的單元格以逗號分隔,如果使用其他分隔符,需要相應地修改上面的代碼。

0