std:: mbsinit
|
Definido en el encabezado
<cwchar>
|
||
|
int
mbsinit
(
const
std::
mbstate_t
*
ps
)
;
|
||
Si
ps
no es un puntero nulo, la función
mbsinit
determina si el objeto
std::mbstate_t
apuntado describe el estado de conversión inicial.
Contenidos |
Notas
Aunque un std::mbstate_t inicializado a cero siempre representa el estado de conversión inicial, puede haber otros valores de std::mbstate_t que también representen el estado de conversión inicial.
Parámetros
| ps | - | puntero al std::mbstate_t objeto 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 <clocale> #include <cwchar> #include <iostream> #include <string> int main() { // permitir que mbrlen() funcione con codificación multibyte UTF-8 std::setlocale(LC_ALL, "en_US.utf8"); // codificación multibyte estrecha UTF-8 std::string str = "水"; // or u8"\u6c34" or "\xe6\xb0\xb4" std::mbstate_t mb = std::mbstate_t(); (void)std::mbrlen(&str[0], 1, &mb); if (!std::mbsinit(&mb)) std::cout << "After processing the first 1 byte of " << str << " the conversion state is not initial\n"; (void)std::mbrlen(&str[1], str.size() - 1, &mb); if (std::mbsinit(&mb)) std::cout << "After processing the remaining 2 bytes of " << str << ", the conversion state is initial conversion state\n"; }
Salida:
After processing the first 1 byte of 水 the conversion state is not initial After processing the remaining 2 bytes of 水, the conversion state is initial conversion state
Véase también
|
información de estado de conversión necesaria para iterar cadenas de caracteres multibyte
(clase) |
|
|
Documentación C
para
mbsinit
|
|