Я считаю количество строк в текстовом файле следующим образом:
| Код | FILE *f; int count = 0; char str[256]; f = fopen("config/abonents.txt","r"); while(!feof(f)) { if(fgets(str,10,f)) count++; } fclose(f);
|
count показывает количество строк. Странно то что я вытянул этот код из своей старой программки, где он нормально работал. А теперь пытаюсь использовать его в другой программе и часто он показывает на несколько строк больше чем надо. В чем может быть дело?
Добавлено через 7 минут и 58 секунд сразу же назрел ответ: вместо
| Код | if(fgets(str,10,f)) count++;
|
надо писать:
| Код | if(fgets(str,100,f)) count++;
|
Кажется так. потому что у меня попадались строчки длиннее 10 символов, а вот длиннее 100 символов точно не попадется. |