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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。