fputc()

Записать символ в поток

Прототип:

#include <stdio.h>
int fputc( int c,
FILE *fp );

Аргументы:

c
Символ, который нужно записать.
fp
Поток, в который нужно записать символ.

Библиотека:

libc

Описание:

Функция fputc() записывает символ, определяемый c, преобразуя его к (int)(unsigned char), в поток, определяемый fp.

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

Число записанных символов как (int)(unsigned char). Если возникла ошибка, функция возвращает EOF, код ошибки записывается в errno.

Коды ошибок:

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

Примеры:

#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

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

Предостережения:

Если c отрицательно, значение, возвращаемое функцией, не равно c — если c не равно -1 и не произошла ошибка.

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

errno, fgetc(), fopen(), fprintf(), fputchar(), fputs(), putc(), putchar(), puts()




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