C語(yǔ)言 庫(kù)函數(shù) mbtowc()
C語(yǔ)言 庫(kù)函數(shù) mbtowc()
C語(yǔ)言 標(biāo)準(zhǔn)庫(kù) <stdlib.h>
C 庫(kù)函數(shù) int mbtowc(whcar_t *pwc, const char *str, size_t n) 把一個(gè)多字節(jié)序列轉(zhuǎn)換為一個(gè)寬字符。
1. 聲明
下面是 mbtowc() 函數(shù)的聲明。
int mbtowc(whcar_t *pwc, const char *str, size_t n)
2. 參數(shù)
- pwc -- 指向類(lèi)型為 wchar_t 對(duì)象的指針。
- str -- 指向多字節(jié)字符的第一個(gè)字節(jié)的指針。
- n -- 要被檢查的最大字節(jié)數(shù)。
3. 返回值
- 如果 str 不為 NULL,mbtowc() 函數(shù)返回 str 開(kāi)始消耗的字節(jié)數(shù),如果指向一個(gè)空字節(jié),則返回 0,如果操作失敗,則返回 -1。
- 如果 str 為 NULL,如果編碼具有移位狀態(tài),則 mbtowc() 函數(shù)返回非零,如果編碼是無(wú)狀態(tài)的,則返回零。
4. 實(shí)例
下面的實(shí)例演示了 mbtowc() 函數(shù)的用法。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = "這里是 w3cschool.cn"; wchar_t mb[100]; int len; len = mblen(NULL, MB_CUR_MAX); mbtowc(mb, str, len*strlen(str) ); wprintf(L"%ls \n", mb ); return(0); }
讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果,因?yàn)樗远嘧止?jié)形式輸出結(jié)果,這是一種二進(jìn)制輸出。
???
相關(guān)文章
- C++ 簡(jiǎn)介
- C++ 數(shù)據(jù)類(lèi)型
- C++ 數(shù)據(jù)抽象
- C++ 動(dòng)態(tài)內(nèi)存
- C++ vector 用法
- C++ 資源
- C語(yǔ)言 程序結(jié)構(gòu)
- C# 簡(jiǎn)介
- C# 類(lèi)型轉(zhuǎn)換
- C# 循環(huán)語(yǔ)句
- C# 數(shù)組 Array
- C# 字符串 String
- C# 運(yùn)算符重載
- C# 正則表達(dá)式
- C# 索引器 Indexer
- C# 委托 Delegate
- C++ 多維數(shù)組
- C++ 拷貝構(gòu)造函數(shù)
- C# Windows 文件系統(tǒng)的操作
- C# 參數(shù)數(shù)組