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); }
讓我們編譯和運行上麵的程序,不會給你顯示,因為它已被打印在多字節的二進製輸出,一種產生以下結果。
???