funciones de la biblioteca C - mblen ()
C biblioteca estándar - <stdlib.h>
descripción
funciones de la biblioteca Cint mblen (const char * str, size_t n) devuelve los puntos strargumento de longitud de caracteres de varios bytes.
declaración
Aquí se mblen () la declaración de la función.
int mblen(const char *str, size_t n)
parámetros
- str - apunta al primer byte del puntero de caracteres multi-byte.
- El número máximo de bytes para verificar la longitud de caracteres- n.
Valor de retorno
Si la identificación de un carácter ancho no nulo, la función mblen () devuelve el número de bytes de la secuencia de varios bytes str iniciar el análisis. Si se identifica un carácter ancho nulo, devuelve 0. Si se identifica una secuencia de varios bytes no válido, o no puede analizar un carácter multibyte completo, se devuelve -1.
Ejemplos
El siguiente ejemplo demuestra mblen () se utiliza la función.
#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); }
Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:
转换为多字节字符串 被转换的字符 1 第一个多字节字符的十六进制值:0x168c6010 多字节字符 168c6010 的字节长度:1 多字节字符 0 的字节长度:0