c读取csv文件存到数组
时间: 2023-10-08 10:04:04 浏览: 227
可以使用C的标准库函数`fopen`、`fscanf`和`fclose`来实现读取csv文件并存储到数组中的操作。
具体步骤如下:
1. 打开csv文件,可以使用`fopen`函数:
```c
FILE *fp = fopen("data.csv", "r");
```
2. 读取csv文件中的数据行,可以使用`fscanf`函数:
```c
int i = 0;
while (fscanf(fp, "%lf,%lf,%lf", &data[i][0], &data[i][1], &data[i][2]) != EOF) {
i++;
}
```
这里假设csv文件中每行有三个数据,并且数据类型为`double`。
3. 关闭csv文件,可以使用`fclose`函数:
```c
fclose(fp);
```
完整代码如下:
```c
#include <stdio.h>
int main() {
double data[100][3];
FILE *fp = fopen("data.csv", "r");
if (fp == NULL) {
printf("Failed to open file\n");
return 1;
}
int i = 0;
while (fscanf(fp, "%lf,%lf,%lf", &data[i][0], &data[i][1], &data[i][2]) != EOF) {
i++;
}
fclose(fp);
// 打印读取到的数据
for (int j = 0; j < i; j++) {
printf("%f %f %f\n", data[j][0], data[j][1], data[j][2]);
}
return 0;
}
```
注意:在使用`fscanf`函数读取csv文件时,需要根据csv文件的实际格式来设置读取的格式,例如每行数据之间使用逗号`,`分隔。同时,还需要注意文件是否存在和是否能够正常打开,否则会出现错误。