Partager via


E/S de flux de données Unicode dans des modes de texte et binaire

Lorsqu'une routine d'E/S de flux de données Unicode (telle qu' fwprintf, fwscanf, fgetwc, fputwc, fgetws, ou fputws) gère un fichier ouvert en mode texte (valeur par défaut), deux types de conversions de caractère se produisent :

  • Unicode-à-MBCS ou de MBCS-à-Unicode conversion.Lorsqu'une fonction Unicode stream-I/O s'exécute en mode texte, il est supposé que la source ou le flux de données de destination est une séquence de caractères multioctets.Par conséquent, les fonctions de flux de données-entrée Unicode convertissent des caractères multioctets aux caractères larges (comme si par un appel à la fonction d' mbtowc ).Pour la même raison, les fonctions de flux de données-sortie Unicode convertissent des caractères larges aux caractères multioctets (comme si par un appel à la fonction d' wctomb ).

  • retour chariot - traduction du saut de ligne (CR-LF).Cette interprétation se produit avant MBCS - conversion Unicode (pour les fonctions d'entrée de flux de données Unicode) et après Unicode - conversion MBCS (pour les fonctions de sortie de flux de données Unicode).Pendant l'entrée, chaque retour chariot - la combinaison de saut de ligne est traduite en un seul caractère de saut de ligne.Pendant la sortie, chaque caractère de saut de ligne est traduit en retour chariot - combinaison de saut de ligne.

Toutefois, lorsqu'une fonction Unicode stream-I/O s'exécute en mode binaire, le fichier est Unicode, et aucune conversion de traduction ou de caractère de CR-LF ne se produit pendant les entrées et les sorties.utilisez le _setmode (_fileno (stdin), _O_BINARY) ; instruction pour utiliser correctement le wcin sur un fichier texte d'UNICODE.

Voir aussi

Référence

Package de runtime par catégorie

Entrée et de sortie