C++读取CVS表文件
时间: 2024-09-18 15:06:42 浏览: 58
在C++中,读取CSV(Comma-Separated Values,逗号分隔值)文件通常需要借助一些库,如`fstream`库(内置),`csv-parser`这样的第三方库,或者是C++17引入的`<filesystem>`和`<sstream>`库。下面是一个基本的例子,展示了如何使用`fstream`来读取CSV文件:
```cpp
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
// 定义一个结构体,用于存储CSV行的数据
struct CSVRow {
std::string column1;
int column2;
double column3;
};
void readCSV(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cerr << "Failed to open file: " << filename << std::endl;
return;
}
CSVRow row;
std::string line;
while (std::getline(file, line)) { // 逐行读取
std::istringstream iss(line);
std::getline(iss, row.column1, ','); // 分割并获取列
iss >> row.column2; // 转换数字列
iss.ignore(); // 忽略可能存在的逗号
iss >> row.column3; // 再次转换数字列
// 处理每一行数据...
}
file.close();
}
int main() {
readCSV("data.csv");
return 0;
}
```
在这个例子中,我们假设CSV文件的第一列是字符串,第二列和第三列是整数和浮点数。
阅读全文