C庫函數(shù)int mbtowc(whcar_t *pwc, const char *str, size_t n) 多字節(jié)序列轉(zhuǎn)換為寬字符。
以下是 mbtowc() 函數(shù)的聲明。
int mbtowc(whcar_t *pwc, const char *str, size_t n)
pwc -- 這就是指針類型的對象 wchar_t.
str -- 這是多字節(jié)字符的第一個字節(jié)的指針。
n -- 這是要檢查的字符長度的最大數(shù)目的字節(jié)。
如果str不為NULL,mbtowc() 函數(shù)返回str開始,消耗的字節(jié)數(shù)或0如果s指向空字節(jié),或-1時失敗。
如果str為NULL,則mbtowc()函數(shù)返回非零如果編碼不平凡的轉(zhuǎn)變狀態(tài),或者為零,如果編碼是無狀態(tài)的。
下面的例子演示了如何使用 mbtowc() 函數(shù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = "This is yiibai.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); }
讓我們編譯和運行上面的程序,不會給你顯示,因為它已被打印在多字節(jié)的二進(jìn)制輸出,一種產(chǎn)生以下結(jié)果。
???