当前位置: C语言 -- 标准库 -- <wchar.h> -- putwc

putwc函数


概要:
#include <stdio.h>
#include <wchar.h>
wint_t putwc(wchar_t c, FILE *stream);

描述:

该函数将宽字符写入输出流,具体步骤:将参数c指定的宽字符写入参数stream指向的输出流;如果与流相关联的文件定义了文件位置指示符,字符将写入到文件位置指示符指定的位置,并且将文件位置指示符适当地前进。如果文件不支持位置请求或者流以a模式打开,宽字符将添加到输出流。

该函数等价于fputwc函数,唯一的区别在于:如果实现将putwc定义为函数式宏,可能会对参数stream多次评估,因此参数stream应为不带副作用的表达式。


参数:
wchar_t c

写入的宽字符。

FILE *stream

FILE类型指针,指向写入宽字符的输出流。


返回值:

如果调用成功,函数返回写入的宽字符。如果发生写入错误,函数返回WEOF,并为流设置错误指示符(error indicator)。如果发生编码错误,函数返回WEOF,并将宏EILSEQ存入errno


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
/*函数putwc范例*/

#include <locale.h>
#include <stdio.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "");

    FILE *pFile;
    const wchar_t wStr[] = L"甘心做奴隶的人不知道自由的力量。";

    pFile = fopen("gch.txt", "w");
    for(size_t i=0; i<sizeof(wStr)/sizeof(wchar_t); ++i)
        putwc(wStr[i], pFile);
    
    fclose(pFile);

    return 0;
}


结果:

创建一个名为gch.txt的文件,并向其写入:

甘心做奴隶的人不知道自由的力量。


相关内容:
fputws 将宽字符串写入输出流的函数。
fputwc 将宽字符写入输出流的函数。
putwchar 将宽字符写入标准输出流的函数。