C++官网参考链接:https://cplusplus.com/reference/cwchar/fputwc/
函数
fputwc
wint_t fputwc (wchar_t wc, FILE * stream);
将宽字符写入流
将宽字符wc写入stream并向前移动位置指示符。
因为宽字符在外部文件中由多字节字符表示,函数可能涉及向文件写入几个字节,就像调用wcrtomb来使用stream的内部mbstate_t对象转换wc一样。
如果宽字符不能用多字节编码表示,该函数返回WEOF并将EILSEQ设置为errno的值。
如果发生写入错误,该函数返回WEOF并为stream设置错误指示符(ferror)。
fputwc和putwc是等价的,除了putwc可能在某些库中作为宏实现。
这是fputc(
形参
wc
要写入的宽字符。
stream
指向标识输出流的FILE对象的指针。
流还没有方向,或者是宽字符方向的(流上的第一个I/O操作决定它是面向字节的还是面向宽字符的,参见fwide)。
返回值
如果成功,则返回所写的字符(wc提升为wint_t类型的值)。
返回类型为wint_t,以适应特殊值WEOF,它表示失败:
如果宽字符不能被解释为有效的多字节字符,该函数返回WEOF并将errno设置为EILSEQ。
如果发生写入错误,该函数也返回WEOF,并设置错误指示符(ferror)。
用例
/* fputwc example */
#include
int main ()
{
FILE * pFile;
wchar_t wc;
pFile = fopen ("example.txt","w");
if (pFile!=NULL) {
for (wc = L'A' ; wc <= L'Z' ; ++wc)
fputwc ( wc , pFile );
fclose (pFile);
}
return 0;
}