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

La función mbtowc () en C ++ convierte un carácter multibyte en un carácter ancho.

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

prototipo mbtowc ()

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

La función mbtowc () toma tres argumentos y devuelve un valor entero. Esta función convierte el carácter multibyte señalado por pmb en un carácter ancho (valor de tipo wchar_t) y se almacena en la ubicación de memoria señalada por pwc.

Si pmb es un puntero nulo, una llamada a mbtowc () restablecerá el estado de conversión global y determinará si se utilizan secuencias de cambio.

Parámetros de mbtowc ()

  • pwc: puntero al carácter ancho resultante
  • pmb: puntero al carácter multibyte que se convierte en carácter ancho
  • max: Tamaño máximo en bytes de pmb a considerar para el carácter multibyte.

mbtowc () Valor de retorno

Si pmb no es un puntero nulo, mbtowc () devuelve:

  • el número de bytes contenidos en el carácter multibyte señalado por pmb.
  • -1 si el primer byte apuntado por pmb no forma un carácter multibyte válido.
  • 0 si pmb apunta al carácter nulo de terminación, es decir, ' 0'.

Si pmb es un puntero nulo, 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)
  • un valor distinto de cero si la codificación multibyte actual depende del estado (utiliza secuencias de desplazamiento).

Ejemplo: ¿Cómo funciona la función mbtowc ()?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

Cuando ejecute el programa, una posible salida será:

 Valor de retorno = 1 Cadena de caracteres ancha: W @

Articulos interesantes...