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

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

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

prototipo de wctomb ()

 int wctomb (char * pmb, wchar_t wc);

La función wctomb () toma dos argumentos y devuelve un valor entero. Esta función convierte el carácter ancho representado por wc en su equivalente multibyte y se almacena en la ubicación de memoria señalada por pmb. El número máximo de caracteres que se pueden almacenar es MB_CUR_MAX .

Si wc es el carácter nulo, el byte nulo se escribe en pmb.

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

Parámetros de wctomb ()

  • pmb: puntero al carácter multibyte resultante
  • wc: carácter ancho que se convierte en carácter multibyte

wctomb () Valor de retorno

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

  • el número de bytes que están contenidos en la representación multibyte de wc.
  • -1 si wc no es un carácter válido.

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 wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Cuando ejecute el programa, una posible salida será:

 Cuando pmb no es nulo Valor devuelto = 1 Carácter multibyte: x↨R Cuando pmb es nulo Valor devuelto = 0 Carácter multibyte:

Articulos interesantes...