PUTC(3S)
НАЗВАНИЕ
putc, putchar, fputc, putw - запись в поток символа или
машинного слова
СИНТАКСИС
#include <stdio.h>
int putc (c, stream)
char c;
FILE *stream;
int putchar (c)
char c;
int fputc (c, stream)
char c;
FILE *stream;
int putw (w, stream)
int w;
FILE *stream;
ОПИСАНИЕ
Макрос putc записывает символ c в поток вывода stream
(в позицию, задаваемую указателем файла, если он определен). Макрос putchar (c) определяется как putc (c,
stdout).
Функция fputc выполняет те же действия, что и макрос
putc; она работает медленнее, чем putc, но занимает
меньше пространства на каждое использование. Кроме того, функцию можно передавать в качестве аргумента.
Функция putw выводит машинное слово w (значение типа
int) в поток вывода stream (в позицию, задаваемую указателем файла, если он определен). Размер слова машинно-зависим. Для данной системы он составляет 32 бита.
Функция putw не требует и не выполняет выравнивание по
границе слова в выходном файле.
СМ. ТАКЖЕ
fclose(3S), ferror(3S), fopen(3S), fread(3S),
printf(3S), puts(3S), setbuf(3S), stdio(3S).
ДИАГНОСТИКА
В случае успеха описанные функции (кроме putw) возвращают выводимое значение. Функция putw возвращает ferror
(stream). При неудаче они возвращают константу EOF.
Ошибка возникает, если файл stream не открыт на запись
или, если файл вывода не может расти. Так как EOF - допустимое целое значение, для распознавания ошибок putw
нужно пользоваться функцией ferror(3S).
ОГРАНИЧЕНИЯ
Поскольку putc - макрос, аргумент stream вычисляется
многократно, что существенно при наличии побочных эффектов. В частности, вызов putc (c, *f++) ведет себя
нежелательным образом. В таких случаях следует использовать fputc.
Из-за возможных различий в длине слова и порядке байт
файлы, сформированные при помощи putw, являются машинно-зависимыми и могут не быть прочитаны при помощи getw
на другом процессоре.