C言語でCSVファイルのデータを読み込む方法は何ですか?
CSVファイルのデータをC言語で読み取るには、以下の手順に従うことができます:
- 必要なヘッダーファイルをインポートしてください。
#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ファイルの各行には2つのフィールドしかないという前提で、必要に応じて調整してください。さらに、CSVファイルが存在し、正しい形式であることを確認してください。