要讀取CSV文件到結構體,你可以使用C++的文件輸入流和字符串流來實現。以下是一個簡單的示例代碼:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
struct Person {
std::string name;
int age;
std::string city;
};
int main() {
std::vector<Person> people;
std::ifstream file("data.csv");
std::string line;
while (std::getline(file, line)) {
std::stringstream ss(line);
std::string name, age, city;
std::getline(ss, name, ',');
std::getline(ss, age, ',');
std::getline(ss, city, ',');
Person p;
p.name = name;
p.age = std::stoi(age);
p.city = city;
people.push_back(p);
}
// 輸出讀取到的數據
for (const auto &person : people) {
std::cout << "Name: " << person.name << ", Age: " << person.age << ", City: " << person.city << std::endl;
}
return 0;
}
在這個示例中,我們首先定義了一個Person
結構體來存儲CSV文件中的數據。然后打開CSV文件并逐行讀取文件內容,使用逗號作為分隔符來解析每行數據,然后將數據存儲到Person
結構體中,并將每個Person
結構體添加到一個std::vector
容器中。最后,我們遍歷std::vector
容器并輸出讀取到的數據。
請注意,這只是一個簡單的示例代碼,實際應用中可能需要根據實際情況對代碼進行更多的錯誤處理和數據驗證。