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

La función wcrtomb () en C ++ convierte un carácter ancho en su representación multibyte estrecha.

El wcrtomb () se define en el archivo de encabezado.

prototipo de wcrtomb ()

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

La función wcrtomb () convierte el carácter ancho representado por wc en un carácter estrecho multibyte y se almacena en la dirección apuntada por s.

  • Si s no es un puntero nulo, la función wcrtomb () determina el número máximo de bytes necesarios para almacenar la representación multibyte de wc y la almacena en la ubicación de memoria señalada por s. Se puede escribir un máximo de MB_CUR_MAX bytes. El valor de ps se actualiza según sea necesario.
  • Si s es un puntero nulo, la llamada es equivalente a wcrtomb(buf, L'', ps)para algún búfer interno.
  • Si wc == L'', se almacena un byte nulo.

Parámetros de wcrtomb ()

  • s: puntero a la matriz de caracteres multibyte para almacenar el resultado.
  • wc: Carácter ancho para convertir.
  • ps: puntero al estado de conversión utilizado al interpretar la cadena multibyte

wcrtomb () Valor de retorno

  • En caso de éxito, la función wcrtomb () devuelve el número de bytes escritos en la matriz de caracteres cuyo primer elemento apunta s.
  • En caso de falla (es decir, wc no es un carácter ancho válido), devuelve -1, errno se establece en EILSEQ y deja * ps en un estado no especificado.

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Articulos interesantes...