fputcfputwc

将字符写入流。

语法

int fputc(
   int c,
   FILE *stream
);
wint_t fputwc(
   wchar_t c,
   FILE *stream
);

参数

c
要写入的字符。

stream
指向 FILE 结构的指针。

返回值

其中每个函数都会返回写入的字符。 对于 fputc,返回值 EOF 指示一个错误。 对于 fputwc,返回值 WEOF 指示一个错误。 如果 streamNULL,这些函数会调用无效的参数处理程序,如参数验证。 如果允许继续执行,这些函数则返回 EOF,并将 errno 设置为 EINVAL

有关返回代码的详细信息,请参阅 errno_doserrno_sys_errlist_sys_nerr

注解

其中每个函数将单个字符 c 写入在关联文件位置指示器(如果已定义)指示的位置处的文件。 这些函数会相应地推进指示器。 在 fputcfputwc 中,文件与 stream 关联。 如果文件不支持定位请求,或者在追加模式中打开,该字符会追加到流的末尾。

如果在 ANSI 模式下打开流,则这两个函数行为相同。 fputc 当前不支持到 UNICODE 流中的输出。

_nolock 后缀的版本相同,但可能受到其他线程的影响。 有关详细信息,请参阅_fputc_nolock_fputwc_nolock

下面是例程特定的备注。

例程 备注
fputc 等效于 putc,但仅作为函数实现,而不是同时作为函数和宏实现。
fputwc fputc 的宽字符版本。 当 stream 分别在文本模式或二进制模式中打开时,将 c 作为多字节字符或宽字符写入。

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

一般文本例程映射

TCHAR.H 例程 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义
_fputtc fputc fputc fputwc

要求

函数 必需的标头
fputc <stdio.h>
fputwc <stdio.h> 或 <wchar.h>

通用 Windows 平台 (UWP) 应用中不支持控制台。 与控制台关联的标准流句柄(stdinstdoutstderr)必须重定向,然后 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!!

另请参阅

流 I/O
fgetcfgetwc
putcputwc