Latest web development tutorials

funciones de la biblioteca C - wctomb ()

C biblioteca estándar - <stdlib.h> C biblioteca estándar - <stdlib.h>

descripción

funciones de la biblioteca Cint wctomb (char * str, wchar_t wchar) wcharel carácter ancho en su representación multibyte y lo almacena en el comienzo de puntosstra un array de caracteres.

declaración

Aquí es) a función más wctomb (.

int wctomb(char *str, wchar_t wchar)

parámetros

  • str - un puntero a una matriz lo suficientemente grande como para almacenar caracteres de varios bytes.
  • wchar - tipo wchar_t de caracteres anchos.

Valor de retorno

  • Si str no es NULL, wctomb () devuelve el número de bytes escritos en la matriz de bytes. Si wchar no se puede representar como una secuencia de varios bytes, devuelve -1.
  • Si str es NULL, si el codificador tiene un estado de cambios, la función wctomb () devuelve cero si la codificación no tiene estado, devuelve cero.

Ejemplos

El siguiente ejemplo muestra se utiliza la función wctomb ().

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i;
   wchar_t wc = L'a';
   char *pmbnull = NULL;
   char *pmb = (char *)malloc(sizeof( char ));

   printf("要转换的宽字符:\n");
   i = wctomb( pmb, wc );
   printf("被转换的字符:%u\n", i);
   printf("多字节字符:%.1s\n", pmb);

   printf("当要转换的字符为 NULL 时尝试转换:\n");
   i = wctomb( pmbnull, wc );
   printf("被转换的字符:%u\n", i);
   /* 不会输出任何值 */
   printf("多字节字符:%.1s\n", pmbnull);
   
   return(0);
}

Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:

要转换的宽字符:
被转换的字符:1
多字节字符:a
当要转换的字符为 NULL 时尝试转换:
被转换的字符:0
多字节字符:

C biblioteca estándar - <stdlib.h> C biblioteca estándar - <stdlib.h>