ツリーは必要ありません。必要なのは構造体の配列だけです。彼は文字の出現を数えるべきであり、26 +/- (他の国では) 文字になる可能性があります (数字が「必要ない」と仮定します。したがって、構造体のアイデアはグーグですが、long の配列または提案された構造体の配列。
とにかく、array[0] = frequency_of_As を定義すると、文字の出現を非常に簡単に計算できます。
char *asUpper = toupper(ch);
frequency_Array [char - 'A'] += 1;
書き込みは単純なループになります
up_to = 'Z' - 'A';
for (i = 0, ch = 'A'; i < up_to; i++, ch++){
fprintf(file, "%d%c", i, ch)
など
あなたがファイルを読みたいと思っていて、このファイルが厳密で単純なループでも十分なはずである場合、アルファベットの26文字だけを持っていると思います
long counter; char ch;
for i = 0; i < up_to; i++){
int how_many = fscanf(file_to_use, "%c%d\n", &counter, &ch);
assert(ch >= 'A' && ch <= 'Z');
frequenceArray[ch - 'A'] = counter;
}