Поделиться через


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

Требования

Функция Обязательный заголовок
fputc <stdio.h>
fputwc <stdio.h> или <wchar.h>

Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью,stdinstdout и 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!!

См. также

Потоковый ввод-вывод
fgetc, fgetwc
putc, putwc