C ++ c16rtomb () - Bibliothèque standard C ++

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!

Articles intéressants...