funciones de la biblioteca C - mbstowcs ()
C biblioteca estándar - <stdlib.h>
descripción
funciones de la biblioteca Csize_t mbstowcs (schar_t * PWCS, const char * str, size_t n) para convertir un argumento de cadena strpuntos de matriz de caracteres de varios bytes señalaron parámetrosde PWCS.
declaración
Aquí está la función () mbstowcs comunicado.
size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
parámetros
- PWC - señalando a una matriz de wchar_t, la longitud de la matriz de los elementos es suficiente para almacenar una amplia cadena de longitud máxima de caracteres.
- str - cadena de caracteres de varios bytes que se desea convertir.
- n - número máximo de caracteres que se desea convertir.
Valor de retorno
Esta función devuelve el número de caracteres en la conversión, sin incluir el carácter nulo de terminación. Si se encuentra con un inválido caracteres de varios bytes, el valor de retorno de -1.
Ejemplos
El siguiente ejemplo demuestra mbstowcs () se utiliza la función.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int len; char *pmbnull = NULL; char *pmb = (char *)malloc( MB_CUR_MAX ); wchar_t *pwc = L"Hi"; wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t )); printf("转换为多字节字符串\n"); len = wcstombs( pmb, pwc, MB_CUR_MAX); printf("被转换的字符 %d\n", len); printf("第一个多字节字符的十六进制值:%#.4x\n", pmb); printf("转换回宽字符字符串\n"); len = mbstowcs( pwcs, pmb, MB_CUR_MAX); printf("被转换的字符 %d\n", len); printf("第一个宽字符的十六进制值:%#.4x\n\n", pwcs); return(0); }
Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:
转换为多字节字符串 被转换的字符 1 第一个多字节字符的十六进制值:0x19a60010 转换回宽字符字符串 被转换的字符 1 第一个宽字符的十六进制值:0x19a60030