C語言stdlib頭文件(stdlib.h)中mbtowc函數的用法及代碼示例。
用法:
int mbtowc (wchar_t* pwc, const char* pmb, size_t max);
將多字節序列轉換為寬字符
wchar_t
並存儲在所指向的位置pwc。該函數返回多字節字符的長度(以字節為單位)。mbtowc有自己的內部換檔狀態,隻有在調用此函數時才需要進行更改。使用空指針如pmb重置狀態(並返回多字節字符是否為state-dependent)。
此函數的行為取決於LC_CTYPE所選類別C語言環境。
參數
- pwc
- 指向類型的對象的指針
wchar_t
。
或者,此參數可以是空指針,在這種情況下,該函數不會存儲wchar_t
翻譯,但仍返回多字節字符的字節長度。 - pmb
- 指向多字節字符的第一個字節的指針。
或者,此參數可以是空指針,在這種情況下,該函數會將其內部移位狀態重置為初始值,並返回多字節字符是否具有state-dependent編碼。 - max
- 最大字節數pmb考慮使用多字節字符。
不多於MB_CUR_MAX在任何情況下都將檢查字符。
size_t是無符號整數類型。
返回值
如果參數傳遞為pmb不是一個空指針,由所指向的多字節字符的大小(以字節為單位)pmb當它形成有效的多字節字符而不是終止空字符。如果是終止空字符,該函數將返回零,並且在它們不構成有效的多字節字符的情況下,-1
返回。如果參數傳遞為pmb是一個空指針,如果多字節字符編碼為state-dependent,則該函數返回非零值,否則返回零。
示例
/* mbtowc example */
#include <stdio.h> /* printf */
#include <stdlib.h> /* mbtowc, wchar_t(C) */
void printbuffer (const char* pt, size_t max)
{
int length;
wchar_t dest;
mbtowc (NULL, NULL, 0); /* reset mbtowc */
while (max>0) {
length = mbtowc(&dest,pt,max);
if (length<1) break;
printf ("[%lc]",dest);
pt+=length; max-=length;
}
}
int main()
{
const char str [] = "mbtowc example";
printbuffer (str,sizeof(str));
return 0;
}
printbuffer按字符打印多字節字符串。
該示例使用一個瑣碎的字符串
"C"
語言環境,但是該函數支持解釋多字節字符串的語言環境。輸出:
[m][b][t][o][w][c][ ][e][x][a][m][p][l][e] |
相關用法
- C語言 atof用法及代碼示例
- C語言 atoi用法及代碼示例
- C語言 atol用法及代碼示例
- C語言 atoll用法及代碼示例
- C語言 strtod用法及代碼示例
- C語言 strtof用法及代碼示例
- C語言 strtol用法及代碼示例
- C語言 strtold用法及代碼示例
- C語言 strtoll用法及代碼示例
- C語言 strtoul用法及代碼示例
- C語言 strtoull用法及代碼示例
- C語言 rand用法及代碼示例
- C語言 srand用法及代碼示例
- C語言 calloc用法及代碼示例
- C語言 free用法及代碼示例
- C語言 malloc用法及代碼示例
- C語言 realloc用法及代碼示例
- C語言 abort用法及代碼示例
- C語言 atexit用法及代碼示例
- C語言 at_quick_exit用法及代碼示例
- C語言 exit用法及代碼示例
- C語言 getenv用法及代碼示例
- C語言 quick_exit用法及代碼示例
- C語言 system用法及代碼示例
- C語言 _Exit用法及代碼示例
- C語言 bsearch用法及代碼示例
- C語言 qsort用法及代碼示例
- C語言 abs用法及代碼示例
- C語言 div用法及代碼示例
- C語言 labs用法及代碼示例
- C語言 ldiv用法及代碼示例
- C語言 llabs用法及代碼示例
- C語言 lldiv用法及代碼示例
- C語言 mblen用法及代碼示例
- C語言 wctomb用法及代碼示例
- C語言 wcstombs用法及代碼示例
注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C mbtowc function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。