Partager via


E/S de flux Unicode en modes texte et binaire

Lorsqu'une routine d'E/S de flux de données Unicode (par exemple fwprintf, fwscanf, fgetwc, fputwc, fgetws, ou fputws) traite un fichier ouvert en mode texte (valeur par défaut), deux types de conversions de caractères ont lieu :

  • Conversion Unicode- à - MBCS ou MBCS-à- Unicode. Lorsqu'une fonction d'E/S de flux Unicode s'exécute en mode texte, on suppose que le flux source ou de destination est une séquence de caractères multioctets. Par conséquent, les fonctions d'entrée de flux Unicode convertissent les caractères multioctets en caractères larges (comme suite à un appel à la fonction mbtowc). Pour la même raison, les fonctions de flux de sortie Unicode convertissent les caractères larges en caractères multioctets (comme suite à un appel à la fonction wctomb).

  • Traduction saut de ligne – retour de chariot (CR-LF) . Cette traduction se produit avant le MBCS – conversion Unicode (pour les fonctions d'entrée de flux de données Unicode) et après conversion Unicode et MBCS (pour les fonctions de flux de données Unicode). Lors de l'entrée, chaque combinaison CR-LF est convertie en un unique caractère de saut de ligne. Lors de la sortie, chaque caractère de saut de ligne est converti en une combinaison CR-LF.

Toutefois, lorsqu'une fonction E/S de flux Unicode s'exécute en mode binaire, on suppose que le fichier est au format Unicode, et aucune conversion de traduction en caractère ou en CR-LF ne se produit lors de l'entrée ou la sortie. Utilisez l'instruction _setmode (_fileno( stdin ), _O_BINARY) ; afin d'utiliser correctement le wcin dans un fichier texte UNICODE.

Voir aussi

Référence

Routines runtime par catégorie

Entrées et sorties