函数
<cwchar>

fputws

int fputws (const wchar_t* ws, FILE* stream);
将宽字符串写入流
ws指向的C宽字符串写入stream

该函数从指定地址(ws)开始复制,直到遇到终止空宽字符。此终止空宽字符不会被复制到流中。

文件中宽字符的外部表示形式是多字节字符:这些字符是通过调用wcrtomb将每个宽字符(使用stream的内部mbstate_t对象)转换为多字节字符而获得的。

这是fputs<cstdio>)的宽字符对应版本。

参数

ws
包含要写入stream的内容的C宽字符串
stream
指向一个 FILE 对象的指针,该对象标识一个输出流。
该流不应有任何朝向,或应是宽字符朝向的(对流的第一个 I/O 操作决定了它是字节朝向还是宽字符朝向,请参阅 fwide)。

返回值

成功时,返回一个非负值。
如果发生多字节字符编码错误,则errno设置为EILSEQ并返回EOF
如果发生写入错误,函数会设置错误指示符ferror)并返回EOF

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* fputws example */
#include <stdio.h>

int main ()
{
   FILE * pFile;
   wchar_t sentence [256];

   wprintf (L"Enter sentence to append: ");
   fgetws (sentence,255,stdin);
   pFile = fopen ("mylog.txt","a");
   fputws (sentence,pFile);
   fclose (pFile);
   return 0;
}

此程序允许每次运行时向名为mylog.txt的文件追加一行。

另见