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

La fonction wcrtomb () en C ++ convertit un caractère large en sa représentation multi-octets étroite.

Le wcrtomb () est défini dans le fichier d'en-tête.

prototype wcrtomb ()

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

La fonction wcrtomb () convertit le caractère large représenté par wc en un caractère multi-octets étroit et est stocké dans l'adresse pointée par s.

  • Si s n'est pas un pointeur nul, la fonction wcrtomb () détermine le nombre maximum d'octets requis pour stocker la représentation multi-octets de wc et la stocke dans l'emplacement mémoire pointé par s. Un maximum de MB_CUR_MAX octets peut être écrit. La valeur de ps est mise à jour selon les besoins.
  • Si s est un pointeur nul, l'appel est équivalent à wcrtomb(buf, L'', ps)pour un tampon interne buf.
  • Si wc == L'', un octet nul est stocké.

Paramètres de wcrtomb ()

  • s: pointeur vers le tableau de caractères multi-octets pour stocker le résultat.
  • wc: caractère large à convertir.
  • ps: pointeur vers l'état de conversion utilisé lors de l'interprétation de la chaîne multi-octets

wcrtomb () Valeur de retour

  • En cas de succès, la fonction wcrtomb () renvoie le nombre d'octets écrits dans le tableau de caractères dont le premier élément est pointé par s.
  • En cas d'échec (c'est-à-dire que wc n'est pas un caractère large valide), il renvoie -1, errno est mis à EILSEQ et laisse * ps dans un état non spécifié.

Exemple: Comment fonctionne la fonction wcrtomb ()?

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Articles intéressants...