Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

mbsrtowcs

Convierte una cadena de caracteres multibyte en una cadena de caracteres de caracteres anchos correspondiente. Una versión más segura de esta función está disponible; vea mbsrtowcs.

size_t mbsrtowcs(
   wchar_t *wcstr,
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
   wchar_t (&wcstr)[size],
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
); // C++ only

[out] wcstr

La ubicación de la dirección de la cadena de caracteres anchos convertida resultante.

[in] mbstr

Indirectamente señala a la ubicación de la cadena de caracteres multibyte que se va a convertir.

[in] count

El número de caracteres que se va a convertir.

[in] mbstate

Un puntero a un objeto de estado de la conversión de mbstate_t .

Devuelve el número de palabras convierten correctamente, sin incluir la null final palabra NULL (si existe), si no es un -1 si se ha producido un error.

La función de mbsrtowcs convierte una cadena de caracteres multibyte, comenzando en el estado especificado de conversión contenida en mbstate, de resaltado indirecto de los valores en mbstr, en la dirección de wcstr. la conversión continuará por cada carácter hasta: después de que se encuentra un carácter null multibyte de terminación, cuando se encuentra un carácter no correspondiente o cuando el carácter siguiente superaría el límite contenido en count. Si mbsrtowcs encuentra el carácter null multibyte (“\ 0 ") o antes o cuando count aparece, se convierte en un carácter null de terminación de 16 bits y detiene.

Así, la cadena de caracteres anchos en wcstr terminado en null solo si mbsrtowcs encuentra un carácter null multibyte durante la conversión. Si las secuencias designadas por a mbstr y la superposición de wcstr , el comportamiento de mbsrtowcs no están definidas. mbsrtowcs afecta a la categoría de LC_TYPE de la configuración regional actual.

la función de mbsrtowcs diferencia de mbstowcs, _mbstowcs_l por su restartability. Almacena el estado de la conversión en mbstate para las llamadas subsiguientes igual o a otras funciones reiniciables. Los resultados son indefinidos al mezclar el uso de funciones reiniciables y nonrestartable. Por ejemplo, una aplicación utilizaría mbsrlen en lugar de mbslen, si una llamada subsiguiente a mbsrtowcs donde se utiliza en lugar de mbstowcs.

Si el argumento de wcstr es NULL, mbsrtombs devuelve el tamaño necesario en las palabras de la cadena de destino. Si mbstate es null, utilizan el estado interno de la conversión de mbstate_t . Si la secuencia wchar de carácter no tiene una representación de caracteres correspondiente multibyte, se devuelve -1 y errno se establece en EILSEQ.

Si mbstr es NULL, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, conjuntos errno de esta función a EINVAL y devuelven -1.

En C++, esta función tiene una sobrecarga de plantilla que invoca según el nuevo, garantizar el equivalente de esta función. Para obtener más información, vea Sobrecargas de plantilla de seguridad.

La función de mbsrtowcs es seguro multiproceso a ninguna función en el subproceso actual llame a setlocale mientras esta función se ejecuta y mbstate no es null.

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

rutina

Encabezado necesario

mbsrtowcs

<wchar.h>

Adiciones de comunidad

AGREGAR
Mostrar: