putchar
, putwchar
Записывает символ в поток stdout
.
Синтаксис
int putchar(
int c
);
wint_t putwchar(
wchar_t c
);
Параметры
c
Символ, который требуется записать.
Возвращаемое значение
Возвращает записанный символ. Чтобы указать ошибку или условие окончания файла, а также putchar
возвращать EOF
и putwc
putwchar
возвращатьWEOF
. putc
Для всех четырех подпрограмм используйте ferror
или feof
проверьте наличие ошибки или окончания файла. При передаче указателя null для stream
этих функций создается недопустимое исключение параметров, как описано в разделе проверки параметров. Если выполнение разрешено продолжать, они возвращают 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
с расширенными символами.
Версии с суффиксом _nolock
идентичны, за исключением того, что они не защищены от вмешательства другими потоками. Они могут быть быстрее, так как они не влечет за собой затраты на блокировку других потоков. Используйте эти функции только в потокобезопасных контекстах, например в однопоточных приложениях или если вызываемая область уже обрабатывает изоляцию потоков.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_puttchar |
putchar |
putchar |
putwchar |
Требования
Маршрут | Обязательный заголовок |
---|---|
putchar |
<stdio.h> |
putwchar |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью, stdin
stdout
и stderr
, должны быть перенаправлены перед тем, как функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Все версии библиотек времени выполнения языка C.
Пример
// crt_putchar.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;
for( p = buffer; (ch != EOF) && (*p != '\0'); p++ )
ch = putchar( *p );
}
Выходные данные
This is the line of output