Тема: Чому різний результат?
Є файл. У файлі слово із 7 літер. Зчитуємо посимвольно, нарощуємо змінну.
В першому випадку для визначення кількості символів у файлі користуюсь feof(FILE *);
В другому порівнюю значення, яке повертає fgetc(FILE *) із EOF.
FILE * f1 = fopen("somefile", "r");
int nByfeof = 0;
while( !feof(f1) ) {
fgetc(f1);
nByfeof++;
}
FILE * f1 = fopen("somefile", "r");
int nByEOF;
while(fgetc(f1) != EOF) {
nByEOF++;
}
nByfeof матиме 8, а nByEOF 7.
Чому після останнього символа, який повертає fgetc лічильник не 0?