La fonction c16rtomb () en C ++ convertit la représentation de caractères 16 bits en une représentation de caractères multi-octets étroite.
La fonction c16rtomb () est définie dans le fichier d'en-tête.
Prototype c16rtomb ()
size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);
La fonction c16rtomb () convertit le caractère utf-16 c16 en son équivalent multi-octets et le stocke dans l'objet pointé par s.
Si s représente un pointeur nul, l'appel est équivalent à c16rtomb (buf, u ' 0', ps) pour un tampon interne buf.
Si c16 est le caractère large nul, c'est-à-dire u ' 0', un octet nul est stocké.
Paramètres de c16rtomb ()
- s: pointeur vers un tableau de caractères dans lequel le caractère multi-octets doit être stocké.
- c16: Le caractère 16 bits à convertir.
- ps: Un pointeur vers un objet mbstate_t utilisé lors de l'interprétation de la chaîne multi-octets.
c16rtomb () Valeur de retour
- En cas de succès, la fonction c16rtomb () renvoie le nombre d'octets écrits dans le tableau de caractères pointé par s.
- En cas d'échec, -1 est renvoyé et EILSEQ est stocké dans errno.
Exemple: comment fonctionne la fonction c16rtomb ()?
#include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i
When you run the program, the output will be:
Hello World!