C ++ mblen () - Biblioteca estándar de C ++

La función mblen () en C ++ determina el tamaño (en bytes) de un carácter multibyte.

La función mblen () se define en el archivo de encabezado.

Prototipo mblen () (A partir del estándar C ++ 11)

 int mblen (const char * s, size_t max);

La función mblen () toma dos argumentos sy max, y devuelve un valor entero. El puntero s apunta al primer byte de un carácter multibyte cuyo tamaño es devuelto por la función.

Parámetros de mblen ()

  • s: puntero al primer byte de un carácter multibyte o un puntero nulo.
  • max: número máximo de bytes en s que se pueden examinar.

mblen () Valor de retorno

Si s es un puntero nulo, una llamada a mblen () restablece su estado de conversión interno para representar el estado de cambio inicial y devuelve:

  • 0 si la codificación multibyte actual no depende del estado (no usa secuencias de cambio).
  • valor distinto de cero si la codificación multibyte actual depende del estado (utiliza secuencias de desplazamiento).

Si s no es un puntero nulo, la función mblen () devuelve:

  • el número de bytes contenidos en el carácter multibyte.
  • -1 si los primeros bytes señalados por s no forman un carácter multibyte válido.
  • 0 si s apunta al carácter nulo ' 0'.

Ejemplo: ¿Cómo funciona la función mblen () en C ++?

 #include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Longitud del carácter multibyte: 1

Articulos interesantes...