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

La fonction wctomb () en C ++ convertit un caractère large en caractère multi-octets.

La fonction wctomb () est définie dans le fichier d'en-tête.

prototype wctomb ()

 int wctomb (char * pmb, wchar_t wc);

La fonction wctomb () prend deux arguments et renvoie une valeur entière. Cette fonction convertit le caractère large représenté par wc en son équivalent multi-octets et est stocké à l'emplacement mémoire pointé par pmb. Le nombre maximum de caractères pouvant être stockés est MB_CUR_MAX .

Si wc est le caractère nul, l'octet nul est écrit dans pmb.

Si pmb est un pointeur nul, un appel à wctomb () réinitialisera l'état de conversion global et déterminera si des séquences de décalage sont utilisées.

Paramètres wctomb ()

  • pmb: pointeur vers le caractère multi-octets résultant
  • wc: caractère large converti en caractère multi-octets

wctomb () Valeur de retour

Si pmb n'est pas un pointeur nul, wctomb () renvoie:

  • le nombre d'octets contenus dans la représentation multi-octets de wc.
  • -1 si wc n'est pas un caractère valide.

Si pmb est un pointeur nul, réinitialise son état de conversion interne pour représenter l'état de décalage initial et retourne:

  • 0 si le codage multi-octets actuel n'est pas dépendant de l'état (n'utilise pas de séquences de décalage)
  • une valeur non nulle si le codage multi-octets actuel dépend de l'état (utilise des séquences de décalage).

Exemple: Comment fonctionne la fonction wctomb ()?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

Lorsque vous exécutez le programme, une sortie possible sera:

 Lorsque pmb n'est pas nul Valeur de retour = 1 caractère multi-octets: x↨R Lorsque pmb est nul Valeur de retour = 0 caractère multi-octets:

Articles intéressants...