位置:首頁 > 高級語言 > C語言標準庫 > mbtowc() - C語言庫函數

mbtowc() - C語言庫函數

C庫函數int mbtowc(whcar_t *pwc, const char *str, size_t n) 多字節序列轉換為寬字符。 

聲明

以下是 mbtowc() 函數的聲明。

int mbtowc(whcar_t *pwc, const char *str, size_t n)

參數

  • pwc -- 這就是指針類型的對象 wchar_t.

  • str -- 這是多字節字符的第一個字節的指針。

  • n -- 這是要檢查的字符長度的最大數目的字節。

返回值

  • 如果str不為NULL,mbtowc() 函數返回str開始,消耗的字節數或0如果s指向空字節,或-1時失敗。

  • 如果str為NULL,則mbtowc()函數返回非零如果編碼不平凡的轉變狀態,或者為零,如果編碼是無狀態的。

例子

下麵的例子演示了如何使用 mbtowc() 函數。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   char *str = "This is gitbook.net";
   wchar_t mb[100];
   int len;
   
   len = mblen(NULL, MB_CUR_MAX); 

   mbtowc(mb, str, len*strlen(str) );
   
   wprintf(L"%ls 
", mb );   
   
   return(0);
}

讓我們編譯和運行上麵的程序,不會給你顯示,因為它已被打印在多字節的二進製輸出,一種產生以下結果。

???