putc
, putwc
Записывает символ в поток.
Синтаксис
int putc(
int c,
FILE *stream
);
wint_t putwc(
wchar_t c,
FILE *stream
);
Параметры
c
Символ, который требуется записать.
stream
Указатель на структуру FILE
.
Возвращаемое значение
Возвращает записанный символ. Чтобы указать ошибку или условие окончания файла, а также putchar
возвращать EOF
и putwc
putwchar
возвращатьWEOF
. putc
Для всех четырех подпрограмм используйте ferror
или feof
проверьте наличие ошибки или окончания файла. При передаче указателя stream
NULL вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров. Если выполнение разрешено продолжать, эти функции возвращают EOF
или WEOF
задают значение errno
EINVAL
.
Дополнительные сведения о кодах возврата см. в разделе errno
, _doserrno
_sys_errlist
и _sys_nerr
.
Замечания
Подпрограмма putc
записывает отдельный символ c
в выходные данные stream
в текущей позиции. Любое целое число может быть передано для putc
, но записываются только младшие 8 битов. Подпрограмма putchar
идентична putc( c, stdout )
. Если возникает ошибка чтения, то в каждой подпрограмме для каждого потока устанавливается индикатор ошибки. putc
и putchar
аналогичны и, соответственно, реализуются как функции, так fputc
_fputchar
и как макросы (см . рекомендации по выбору между функциями и макросами). putwc
и putwchar
— это версии putc
и putchar
с расширенными символами. putwc
и putc
ведут себя одинаково, если поток открыт в режиме ANSI. Функция putc
на данный момент не поддерживает вывод данных в поток в кодировке Юникод.
Версии с суффиксом _nolock
идентичны, за исключением того, что они не защищены от вмешательства другими потоками. Дополнительные сведения см. в разделе _putc_nolock, _putwc_nolock.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_puttc |
putc |
putc |
putwc |
Требования
Маршрут | Обязательный заголовок |
---|---|
putc |
<stdio.h> |
putwc |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью, stdin
stdout
и stderr
, должны быть перенаправлены перед тем, как функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения языка C.
Пример
// crt_putc.c
/* This program uses putc to write buffer
* to a stream. If an error occurs, the program
* stops before writing the entire buffer.
*/
#include <stdio.h>
int main( void )
{
FILE *stream;
char *p, buffer[] = "This is the line of output\n";
int ch;
ch = 0;
/* Make standard out the stream and write to it. */
stream = stdout;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = putc( *p, stream );
}
Выходные данные
This is the line of output