Функции библиотеки C - mblen ()
C стандартная библиотека - <stdlib.h>
описание
Функции библиотеки CINT mblen (Const символ * Str, size_t N) возвращает длину аргумента точек Strдля многобайтных символов.
заявление
Здесь mblen () объявление функции.
int mblen(const char *str, size_t n)
параметры
- ул - указывает на первый байт указателя символов многобайтовой.
- Максимальное количество байт , чтобы проверить длину символов- п.
Возвращаемое значение
Если идентификация ненулевым широкий характер, функция mblen () возвращает число байтов последовательности многобайтовой ул начать разбор. Если определить нулевой символ, она возвращает 0. Если идентифицировать недопустимую последовательность многобайтную, или не может разобрать полный многобайтовый характер, возвращается -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("转换为多字节字符串\n"); len = wcstombs( pmb, pwc, MB_CUR_MAX); printf("被转换的字符 %d\n", len); printf("第一个多字节字符的十六进制值:%#.4x\n", pmb); len = mblen( pmb, MB_CUR_MAX ); printf( "多字节字符 %x 的字节长度:%u\n", pmb, len ); pmb = NULL; len = mblen( pmb, MB_CUR_MAX ); printf( "多字节字符 %x 的字节长度:%u\n", pmb, len ); return(0); }
Давайте скомпилировать и запустить эту программу, которая приведет к следующему:
转换为多字节字符串 被转换的字符 1 第一个多字节字符的十六进制值:0x168c6010 多字节字符 168c6010 的字节长度:1 多字节字符 0 的字节长度:0