fputwc, putwc

来自cppreference.com
< c‎ | io
定义于头文件 <wchar.h>
wint_t fputwc( wchar_t ch, FILE *stream );
(C95 起)
wint_t putwc( wchar_t ch, FILE *stream );
(C95 起)

写宽字符 ch 到给定的输出流 streamputwc() 可以实现为宏并可求值 stream 多于一次。

参数

ch - 要写入的宽字符
stream - 输出流

返回值

成功时返回 ch 的副本。

失败时,返回 WEOF 并设置 stream 上的错误指示器(见 ferror() )。

若出现编码错误,则另外设置 errnoEILSEQ

示例

#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <errno.h>
 
int main(void)
{
    setlocale(LC_ALL, "en_US.utf8");
 
    errno = 0;
    if (fputwc(L'🍌', stdout) == WEOF) {
        if (errno == EILSEQ)
            puts("Encoding error in fputwc.");
        else
            puts("I/O error in fputwc.");
        return EXIT_FAILURE;
    }
}

输出:

🍌

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.29.3.3 The fputwc function (p: 422-423)
  • 7.29.3.8 The putwc function (p: 424)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.24.3.3 The fputwc function (p: 368)
  • 7.24.3.8 The putwc function (p: 370)

参阅

将一个字符写入文件流
(函数)
(C95)
将一个宽字符串写入文件流
(函数)
从文件流获取一个宽字符
(函数)