fputc
, fputwc
Записывает символ в поток.
Синтаксис
int fputc(
int c,
FILE *stream
);
wint_t fputwc(
wchar_t c,
FILE *stream
);
Параметры
c
Символ, который требуется записать.
stream
Указатель на структуру FILE
.
Возвращаемое значение
Каждая из этих функций возвращает записанный символ. Для fputc
возвращаемое значение EOF
указывает на ошибку. Для fputwc
возвращаемое значение WEOF
указывает на ошибку. Если stream
это NULL
так, эти функции вызывают обработчик недопустимых параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, они возвращают EOF
и устанавливают для errno
значение EINVAL
.
Дополнительные сведения о кодах возврата см. в разделе errno
, _doserrno
_sys_errlist
и _sys_nerr
.
Замечания
Каждая из этих функций записывает один символ c
в файл в положение, указанное соответствующим индикатором положения файла, если определено. Функции перемещают индикатор соответствующим образом. В fputc
и fputwc
, файл связан с stream
. Если файл не может поддерживать запросы на размещение или был открыт в режиме добавления, символ добавляется в конец потока.
Эти две функции ведут себя одинаково, если поток открыт в режиме ANSI. Функция fputc
на данный момент не поддерживает вывод данных в поток в кодировке Юникод.
Версии с суффиксом _nolock
идентичны, за исключением того, что они не защищены от вмешательства другими потоками. Дополнительные сведения см. в статье_fputwc_nolock
_fputc_nolock
.
Ниже приводятся примечания для конкретных подпрограмм.
Маршрут | Замечания |
---|---|
fputc |
Эквивалент putc , однако реализуется только как функция, а не как функция и макрос. |
fputwc |
Версия fputc для расширенных символов. Записывается c в виде многобайтового символа или широкого символа при stream открытии в текстовом режиме или двоичном режиме соответственно. |
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_fputtc |
fputc |
fputc |
fputwc |
Требования
Function | Обязательный заголовок |
---|---|
fputc |
<stdio.h> |
fputwc |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью,stdin
stdout
и stderr
должны быть перенаправлены, прежде чем функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_fputc.c
// This program uses fputc
// to send a character array to stdout.
#include <stdio.h>
int main( void )
{
char strptr1[] = "This is a test of fputc!!\n";
char *p;
// Print line to stream using fputc.
p = strptr1;
while( (*p != '\0') && fputc( *(p++), stdout ) != EOF ) ;
}
This is a test of fputc!!