fgetc()

Считать символ из потока

Прототип:

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

Аргументы:

fp
Поток, из которого необходимо считать символ.

Библиотека:

libc

Описание:

Функция fgetc() считывает следующий символ из потока, определяемого fp.

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

Следующий символ из потока fp, приводимый к (int)(unsigned char).

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


Note: Необходимо использовать feof() или ferror() для определения, достигнут ли конец файла или произошла ошибка.

Коды ошибок:

EAGAIN
Флаг O_NONBLOCK установлен для потока fp и будет заблокирован данной операцией.
EBADF
Поток, определенный fp, недоступен для чтения.
EINTR
Сигнал прервал операцию чтения; данные не будут переданы.
EIO
Одна из следующих причин:
ENOMEM
Недостаточно свободного места.
ENXIO
Запрос был сделан от лица несуществующего устройства, либо запрос лежит вне возможностей устройства.
EOVERFLOW
Файл является обычным файлом, и произошла попытка выполнить чтение с максимальным смещением или за пределы потока.

Примеры:

#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *fp;
int c;
fp = fopen( "file", "r" );
if ( fp != NULL )
{
while ( (c = fgetc( fp )) != EOF )
{
fputc( c, stdout );
}
fclose( fp );
return (EXIT_SUCCESS);
}
return (EXIT_FAILURE);
}

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

errno, feof(), ferror(), fgetchar(), fgets(), fopen(), fputc(), getc(), gets(), ungetc()




Предыдущий раздел: Описание API системной библиотеки