Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

mbsrtowcs

Convertit une chaîne de caractères multioctets en une chaîne correspondante de caractères larges. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez mbsrtowcs.

size_t mbsrtowcs(
   wchar_t *wcstr,
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
   wchar_t (&wcstr)[size],
   const char **mbstr,
   sizeof count,
   mbstate_t *mbstate
); // C++ only

[out] wcstr

La chaine résultante de caractère large convertie de l'emplacement de l'adresse

[in] mbstr

Pointe indirectement vers l'emplacement de la chaîne de caractères multioctets à convertir.

[in] count

Nombre de caractères à convertir.

[in] mbstate

Un pointeur vers un objet d'état de conversion mbstate_t .

Retourne le nombre de mots correctement convertis, à l'exclusion du caractère null terminant la chaine (s'il existe), ou -1 si une erreur se produit.

La fonction mbsrtowcs convertit une chaîne de caractères multioctets, depuis l'état de conversion spécifié contenu dans mbstate, depuis les valeurs indirectement pointées vers dans mbstr, dans l'adresse dewcstr. La conversion se poursuit pour chaque caractère jusqu'à ce que : après avoir rencontré un caractère de fin de chaine multioctets null, ou si le caractère suivant exvède la limite contenue dans count. Si mbsrtowcs rencontre le caractère NULL multioctets ("\0 ") soit avant soit lorsque count advient, il le convertit en un caractère null de fin de chaine de 16bits et s'arrete.

Par conséquent, la chaîne de caractères larges àwcstr se termine par null uniquement si mbsrtowcs rencontre un caractère NULL multioctets lors de la conversion. Si les séquences désignées par mbstr et wcstr se chevauchent, le comportement dembsrtowcs n'est pas défini. mbsrtowcs est affecté par la catégorie LC_TYPE des paramètres régionaux actuels.

La fonction mbsrtowcs diffère de mbstowcs, _mbstowcs_l par sa capacité à redémarrer. L'état de conversion est stocké dans mbstate pour d'autres appels à la même ou a d'autres fonctions redémarrable. Les résultats sont indéfinis lorqu'on mélange l'utilisation de fonctions redémarrable et non redémarrable. Par exemple, une application utilise mbsrlen plutôt quembslen, si l'appel suivant à mbsrtowcs où est utilisé à la place de d'mbstowcs.

Si l'argument wcstr est NULL, mbsrtombs retourne la taille requise en mots de la chaine de destination. Si mbstate est NULL, l'état de conversion interne mbstate_t est utilisé. Si la séquence de caractères wchar n'a pas une représentation correspondante en caractères multioctets, -1 est retourné et errno est défini à la valeur EILSEQ.

Si mbstr est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction définit errno à EINVAL et retourne -1.

En C++, cette fonction a une surcharge de modèle qui appelle les équivalents plus récents et sécurisés de cette fonction. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

La fonction mbsrtowcs est multithread-safe à condition qu'aucune fonction du thread actuel n'appelle setlocale lorsque cette fonction s'exécute et que mbstate n'est pas null.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Routine

En-tête requis

mbsrtowcs

<wchar.h>

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft