要在C语言中读取CSV文件的数据,可以按照以下步骤进行:
引入所需的头文件:#include <stdio.h>#include <stdlib.h>#include <string.h>定义一个结构体来存储CSV文件中的每一行数据:typedef struct { char field1[100]; char field2[100]; // 可以根据需要添加更多的字段} CSVData;编写函数来读取CSV文件的数据:void readCSV(const char* filename, CSVData* data, int* num_rows) { FILE* file = fopen(filename, "r"); if (file == NULL) { printf("无法打开文件。\n"); return; } char line[256]; int i = 0; while (fgets(line, sizeof(line), file)) { // 使用strtok函数按照逗号分隔每个字段 char* token = strtok(line, ","); strcpy(data[i].field1, token); token = strtok(NULL, ","); strcpy(data[i].field2, token); // 可以根据需要继续读取更多的字段 i++; } *num_rows = i; fclose(file);}调用上述函数来读取CSV文件的数据:int main() { CSVData data[100]; int num_rows; readCSV("data.csv", data, &num_rows); // 打印读取到的数据 for (int i = 0; i < num_rows; i++) { printf("第 %d 行数据:\n", i+1); printf("字段1:%s\n", data[i].field1); printf("字段2:%s\n", data[i].field2); // 可以根据需要打印更多的字段 printf("\n"); } return 0;}以上代码假设CSV文件中每行只有两个字段,可以根据实际情况进行调整。另外,需要确保CSV文件存在且格式正确。