説明されている他の答えと同じように、構造体の配列を作成できます。
あなたはstruct
定義したら:
typedef struct {
char letter;
int number;
} record_t;
を次にあなたがこのような構造体の配列を作成することができます。
record_t records[26]; /* 26 letters in alphabet, can be anything you want */
を2次元配列を使用すると、不要になり、文字と数字を包むようstruct
の方が処理しやすいでしょう。
ファイルを読むことに関しては、の値が見つからない限り、fscanf()
と読むことができます。ここで
は、あなたが使用できるいくつかの基本的なコードです:
#include <stdio.h>
#include <stdlib.h>
#define NUMLETTERS 26
typedef struct {
char letter;
int number;
} record_t;
int main(void) {
FILE *fp;
record_t records[NUMLETTERS];
size_t count = 0;
fp = fopen("letters.csv", "r");
if (fp == NULL) {
fprintf(stderr, "Error reading file\n");
return 1;
}
while (fscanf(fp, " %c,%d", &records[count].letter, &records[count].number) == 2) {
count++;
}
for (size_t i = 0; i < count; i++) {
printf("%c,%d\n", records[i].letter, records[i].number);
}
fclose(fp);
return 0;
}
はい、それは多少の重複問題だ、と私はこの1つを作る前にフォーラムを見てみました。私はまだそれを取得しません。 – mac