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

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

" 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

fgetc – чтение одного байта из указанного потока данных.

Синтаксис:

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

Аргументы:

stream – указатель на поток данных.

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

В случае успешного чтения байта возвращается код считанного байта (символа).

Если достигнут конец файла, а данные не были считаны, то возвращается EOF и устанавливается признак конца файла.

Если при чтении байта произошла ошибка, то возвращается EOF, а переменной errno присваивается код ошибки.

Описание:

Функция fgetc считывает один байт из указанного аргументом stream потока данных.

Если достигнут конец файла или при чтении файла произошла ошибка возвращается код EOF (обычно -1). Для того, чтобы отличить конец файла от ошибки используются функции feof и ferror.

Пример:

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


#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
Чтение файла закончено
Закрытие файла: выполнено


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

fgetc
fgets
fputc
fputs
getc
getchar
gets
getw
printf
putc
puts
putchar
putw
ungetc


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

Рейтинг@Mail.ru