Система ввода/вывода ANSI С определяет две эквивалентные функции, выводящие символ - putc() и fputc(). (На самом деле putc() реализована в виде макроопределения.) Поддержка двух идентичных функций необходима для сохранения совместимости со старыми версиями С.
Функция putc() используется для записи символов в поток, ранее открытый для записи с помощью функции fopen(). Прототип для putc() следующий:
int putc(int ch, FILE *fp);
где fp — это указатель на файл, возвращенный fopen(), a ch - выводимый символ. Указатель на файл указывает putc(), в какой файл следует писать. По историческим причинам ch определена как int, но используется только младший бит.
Если putc() выполнена успешно, она возвращает выведенный символ. В противном случае возвращает EOF.