Проверка текстового файла на пустоту - C (СИ)
Формулировка задачи:
В случае, когда файл пуст, программа всё равно не считает его пустым. Почему это происходит? Как это исправить? Может быть, существует какая-то другая, более эффективная проверка?
g = fopen("Program.txt", "r"); if (feof(g)) { fprintf(f, "%s", "Файл с программой пуст!"); };
Решение задачи: «Проверка текстового файла на пустоту»
textual
Листинг программы
fseek(g,0,SEEK_END); long pos=ftell(g); if(pos>0) { // файл непустой. rewind(g); .... }
Объяснение кода листинга программы
fseek(g,0,SEEK_END);
— Эта строка кода перемещает указатель чтения в конец файла.long pos=ftell(g);
— Эта строка кода сохраняет текущую позицию указателя чтения в переменной типа long.if(pos>0)
— Эта строка кода проверяет, не равно ли значение переменнойpos
нулю. Если это не так, то файл не пуст.rewind(g);
— Эта строка кода возвращает указатель чтения в начало файла.- .... — В этой строке кода должна быть дальнейшая обработка данных, но в представленном коде она отсутствует.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д