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

La fonction mbstowcs () en C ++ convertit une chaîne de caractères multi-octets en une séquence de caractères large équivalente.

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

prototype mbstowcs ()

 size_t mbstowcs (wchar_t * dest, const char * src, size_t max);

La fonction mbstowcs () prend trois arguments et renvoie une valeur entière.

Cette fonction convertit la chaîne de caractères multi-octets dont le premier élément est pointé par src en sa représentation à caractère large (valeur de type wchar_t).

Le résultat est stocké à l'emplacement mémoire pointé par dest. Le paramètre max représente le nombre maximum de caractères multi-octets à convertir.

Le mécanisme de conversion est le même que celui de mbtowc (), sauf que l'état de conversion mbtowc n'est pas affecté. La conversion s'arrête si:

  • Un caractère nul est rencontré, qui est ensuite converti et stocké.
  • Un caractère multi-octets non valide est rencontré.
  • le nombre maximum de caractères multi-octets a été converti.

Paramètres de mbstowcs ()

  • dest: pointeur vers le tableau de caractères large résultant.
  • src: pointeur vers le premier élément du caractère multi-octets qui est converti en caractère large.
  • max: nombre maximum de caractères multi-octets à convertir.

mbstowcs () Valeur renvoyée

  • Si la conversion réussit, mbstowcs () renvoie le nombre de caractères larges à l'exclusion du caractère de fin (c'est-à-dire « 0») qui est écrit dans le tableau de destination.
  • Si une erreur se produit pendant la conversion, elle renvoie -1.

Exemple: Comment fonctionne la fonction mbstowcs ()?

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

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

 Nombre de caractères larges convertis = 1 Chaîne de caractères larges = ─

Articles intéressants...