Я беру вводный курс по программированию на Си и имею это задание.
Напишите программу, которая читает в виде входного файла обычный текстовый файл и выводит, сколько каждой буквы появилось в этом файле.
Ниже приведено то, что я имею до сих пор.Проблема в том, что он ничего не выводит, и я понятия не имею, что делать.Я понимаю, что в цикле while нет правильного выражения.Я поместил туда заполнитель, "TEST", потому что я не уверен, что нужно проверить, чтобы увидеть, когда он достигнет конца файла.Есть идеи?
#include <stdio.h>
int main() {
int i, index, chars[256];
char letter;
FILE *ifp;
//sets the value of all the counters to 0
for (i = 0; i < 256; i++)
chars[i] = 0;
ifp = fopen("input.txt", "r");
//loops through reading each character and then increments the counter by 1
while (TEST) {
fscanf(ifp, "%c", &letter);
index = letter;
chars[index] += 1;
}
//prints the totals for each character
for (i = 0; i < 256; i++) {
letter = i;
printf("%c: %d\n", letter, chars[i]);
}
fclose(ifp);
return 0;
}