Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" F "

fabs,fabsf,fabsl 

fclose 

fcloseall 

fdim,fdimf,fdiml 

fdopen 

fegetround 

feof 

ferror 

fesetround 

fgetc 

fgets 

fileno 

finite,finitef,finitel 

fflush 

floor,floorf,floorl 

fma,fmaf,fmal 

fmax,fmaxf,fmaxl 

fmin,fminf,fminl 

fmod,fmodf,fmodl 

fopen 

fpclassify 

fputc 

fputs 

freopen 

frexp,frexpf,frexpl 

fseek 

fseeko 

ftell 

ftello 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

feof – проверка наличия признака конца файла.

Синтаксис:

#include < stdio.h >
int feof (FILE *stream );

Аргументы:

stream – указатель на управляющую таблицу потока данных к которому привязан проверяемый файл.

Возвращаемое значение:

Ненулевое значение если обнаружен установленный признак конца файла, иначе ноль.

Описание:

Функция feof проверяет наличие установленного признака конца файла. Используется для определения достижения конца файла при чтении данных из файла.

Пример:

В примере из заранее созданного файла test.txt располагающегося в одной папке с программой считываются данные с помощью функции fgetc, пока не будет достигнут конец файла. Признак конца файла определяется с помощью функции feof. В файле заранее сохранена строка: «тест чтения». Считанные данные и отчет о работе выводятся на консоль


#include < stdio.h >  //Для printf, fgetc, fopen, fclose, feof

int main (void)
{  
   // Переменная, в которую будет помещен указатель на созданный
   // поток данных
   FILE *mf;
   // Переменная, в которую поочередно будут помещаться считываемые байты
   int sym;

   // Открытие фала с режимом доступа «только чтение» и привязка к нему
   // потока данных
   printf (“Открытие файла: ”);
   mf = fopen (“test.txt”,”r”);

   // Проверка открытия файла
   if (mf == NULL) {printf (“ошибка\n”); return -1;}
   else printf (“выполнено\n”);

   printf (“Коды считанных символов:\n”);

   //Чтение (побайтно) данных из файла в бесконечном цикле
   while (1)
   {
      // Чтение одного байта из файла
      sym = fgetc (mf);

      //Проверка на конец файла или ошибку чтения
      if (sym == EOF)
      {
         // Проверяем что именно произошло: кончился файл
         // или это ошибка чтения
         if ( feof (mf) != 0)
         {  
            //Если файл закончился, выводим сообщение о завершении чтения
            //и выходим из бесконечного цикла
            printf (“\nЧтение файла закончено\n”);
            break;
         }
         else
         {
            //Если при чтении произошла ошибка, выводим сообщение об
            // ошибке и выходим из бесконечного цикла
            printf (“\nОшибка чтения из файла\n”);
            break;
         }
      }
      //Если файл не закончился, и не было ошибки чтения
      //выводим код считанного символа на экран
      printf (“%d ”,sym);
   }

   // Закрываем файл
   printf (“Закрытие файла: ”);
   if ( fclose (mf) == EOF) printf (“ошибка\n”);
   else printf (“выполнено\n”);

   return 0;
} 

Результат:

Открытие файла: выполнено
Коды считанных символов:
212 197 211 212 32 222 212 197 206 201 209
Чтение файла закончено
Закрытие файла: выполнено


Смотри так же:

feof
ferror
clearerr
perror
strerror


Яндекс.Метрика

Рейтинг@Mail.ru