温馨提示×

c语言怎么读取csv文件数据

小亿
113
2024-01-25 16:42:40
栏目: 编程语言

要在C语言中读取CSV文件的数据,可以按照以下步骤进行:

  1. 引入所需的头文件:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
  1. 定义一个结构体来存储CSV文件中的每一行数据:
typedef struct {
    char field1[100];
    char field2[100];
    // 可以根据需要添加更多的字段
} CSVData;
  1. 编写函数来读取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);
}
  1. 调用上述函数来读取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文件存在且格式正确。

0