Проверка текстового файла на пустоту - 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);
    ....
}

Объяснение кода листинга программы

  1. fseek(g,0,SEEK_END); — Эта строка кода перемещает указатель чтения в конец файла.
  2. long pos=ftell(g); — Эта строка кода сохраняет текущую позицию указателя чтения в переменной типа long.
  3. if(pos>0) — Эта строка кода проверяет, не равно ли значение переменной pos нулю. Если это не так, то файл не пуст.
  4. rewind(g); — Эта строка кода возвращает указатель чтения в начало файла.
  5. .... — В этой строке кода должна быть дальнейшая обработка данных, но в представленном коде она отсутствует.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы