函式
<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的檔案追加一行。

另見