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 tw511.com";
   wchar_t mb[100];
   int len;
   
   len = mblen(NULL, MB_CUR_MAX); 

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

讓我們編譯和執行上面的程式,不會給你顯示,因為它已被列印在多位元組的二進位制輸出,一種產生以下結果。

???