用C++编写一个程序要求读取CSV文件 ·任务:读取包含姓名和年龄的CSV文件(Data.CSV),并打印超过指定年龄的姓名。
时间: 2024-12-11 10:43:17 浏览: 15
在C++中,为了读取CSV文件,我们可以使用第三方库如`csv-parser`或自己手动解析文件。这里我会演示如何使用`csv-parser`库。首先,你需要安装这个库,可以参考它们的GitHub页面获取安装指南。
```cpp
#include <iostream>
#include <fstream>
#include <sstream>
#include "csv.hpp"
using namespace csv;
// 示例数据结构
struct Record {
std::string name;
int age;
};
int main() {
// 使用csv-parser库解析CSV文件
try {
ifstream input("Data.CSV");
CSVReader<Record> reader(input);
// 读取头信息
auto headers = reader.headers();
if (headers.size() != 2 || headers[0] != "name" || headers[1] != "age") {
throw runtime_error("Invalid CSV header format.");
}
// 定义年龄阈值
const int minAge = 18;
// 过滤并打印满足条件的记录
for (const auto& record : reader) {
if (record.age > minAge) {
std::cout << "Name: " << record.name << ", Age: " << record.age << std::endl;
}
}
} catch (const exception& e) {
std::cerr << "Error reading CSV: " << e.what() << std::endl;
}
return 0;
}
```
注意:上述代码假设CSV文件的第一列是姓名,第二列是年龄,并且名字是字符串,年龄是整数。实际应用中,你需要确保数据格式匹配。
阅读全文