用C++实现读取csv文件中的某个值
时间: 2023-05-28 09:05:49 浏览: 104
以下是一个示例程序,可以读取一个名为data.csv的CSV文件,并输出第二列所有行的值:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1000
#define MAX_FIELD_LENGTH 100
int main() {
FILE *file;
char line[MAX_LINE_LENGTH];
char *field;
char *delim = ",";
int col = 2; // 第二列
int row = 0;
file = fopen("data.csv", "r"); // 打开文件
if (file == NULL) {
printf("无法打开文件\n");
exit(1);
}
while (fgets(line, MAX_LINE_LENGTH, file) != NULL) { // 逐行读取
if (row == 0) { // 跳过首行(列名)
row++;
continue;
}
field = strtok(line, delim); // 分割字段
for (int i = 1; i < col; i++) {
field = strtok(NULL, delim);
}
printf("%s\n", field); // 输出第二列的值
row++;
}
fclose(file); // 关闭文件
return 0;
}
```
注意,此示例假定输入文件的第一行是列名,因此将跳过该行。如果您的CSV文件没有列名,请将该部分的条件删除。此外,此示例将输出第二列的所有值。如果您需要输出其他列,请将col变量更改为所需的列号。
阅读全文