mbsinit
|
Definido en el encabezado
<wchar.h>
|
||
|
int
mbsinit
(
const
mbstate_t
*
ps
)
;
|
(desde C95) | |
Si
ps
no es un puntero nulo, la función
mbsinit
determina si el objeto
mbstate_t
apuntado describe el estado de conversión inicial.
Contenidos |
Notas
Aunque un mbstate_t inicializado a cero siempre representa el estado de conversión inicial, puede haber otros valores de mbstate_t que también representen el estado de conversión inicial.
Parámetros
| ps | - | puntero al objeto mbstate_t a examinar |
Valor de retorno
0
si
ps
no es un puntero nulo y no representa el estado de conversión inicial, valor distinto de cero en caso contrario.
Ejemplo
#include <locale.h> #include <string.h> #include <stdio.h> #include <wchar.h> int main(void) { // permitir que mbrlen() funcione con codificación multibyte UTF-8 setlocale(LC_ALL, "en_US.utf8"); // codificación multibyte estrecha UTF-8 const char* str = u8"水"; // or u8"\u6c34" or "\xe6\xb0\xb4" static mbstate_t mb; // inicializado a cero (void)mbrlen(&str[0], 1, &mb); if (!mbsinit(&mb)) { printf("Después de procesar el primer byte de %s,\n" "el estado de conversión no es inicial\n\n", str); } (void)mbrlen(&str[1], strlen(str), &mb); if (mbsinit(&mb)) { printf("Después de procesar los 2 bytes restantes de %s,\n" "el estado de conversión es el estado de conversión inicial\n", str); } }
Salida:
Después de procesar el primer byte de 水, el estado de conversión no es inicial Después de procesar los 2 bytes restantes de 水, el estado de conversión es el estado de conversión inicial
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.29.6.2.1 La función mbsinit (p: 322)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.29.6.2.1 La función mbsinit (p: 441-442)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.24.6.2.1 La función mbsinit (p: 387-388)
Véase también
|
(C95)
|
información de estado de conversión necesaria para iterar cadenas de caracteres multibyte
(clase) |
|
Documentación de C++
para
mbsinit
|
|