描述
C库函数int mblen(const char *str, size_t n)返回参数指向的 multi-byte 字符的长度str。
声明
以下是 mblen() 函数的声明。
int mblen(const char *str, size_t n)
参数
str- 这是指向多字节字符的第一个字节的指针。
n- 这是要检查字符长度的最大字节数。
返回值
如果识别出非空宽字符,则 mblen() 函数返回从 multi-byte 序列从 str 开始传递的字节数。如果识别出空宽字符,则返回 0。如果遇到无效的 multi-byte 序列或无法解析完整的 multi-byte 字符,则返回 -1。
示例
下面的例子展示了 mblen() 函数的用法。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
int len;
char *pmbnull = NULL;
char *pmb = (char *)malloc( MB_CUR_MAX );
wchar_t *pwc = L"Hi";
wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t ));
printf("Converting to multibyte string\n");
len = wcstombs( pmb, pwc, MB_CUR_MAX);
printf("Characters converted %d\n", len);
printf("Hex value of first multibyte character:%#.4x\n", pmb);
len = mblen( pmb, MB_CUR_MAX );
printf( "Length in bytes of multibyte character %x:%u\n", pmb, len );
pmb = NULL;
len = mblen( pmb, MB_CUR_MAX );
printf( "Length in bytes of multibyte character %x:%u\n", pmb, len );
return(0);
}
让我们编译并运行上面的程序,将产生以下结果 -
Converting to multibyte string Characters converted 1 Hex value of first multibyte character:0x168c6010 Length in bytes of multibyte character 168c6010:1 Length in bytes of multibyte character 0:0
相关用法
- C语言 mbtowc()用法及代码示例
- C语言 mbstowcs()用法及代码示例
- C语言 moveto()用法及代码示例
- C语言 memmove()用法及代码示例
- C语言 memchr()用法及代码示例
- C语言 modf()用法及代码示例
- C语言 moverel()用法及代码示例
- C语言 mktime()用法及代码示例
- C语言 malloc()用法及代码示例
- C语言 memset()用法及代码示例
- C语言 memcpy()用法及代码示例
- C语言 memcmp()用法及代码示例
- C语言 宏 assert()用法及代码示例
- C语言 vprintf()用法及代码示例
- C语言 宏 va_start()用法及代码示例
- C语言 setlocale()用法及代码示例
- C语言 fread()用法及代码示例
- C语言 sinh()用法及代码示例
- C语言 宏 offsetof()用法及代码示例
- C语言 feof()用法及代码示例
注:本文由纯净天空筛选整理自 C library function - mblen()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。