Partager via


E/S de console de haut niveau

Les fonctions d'E/S de haut niveau offrent un moyen simple de lire un flux de caractères à partir de l'entrée de console ou d'écrire un flux de caractères sur la sortie de console. Une opération de lecture de haut niveau récupère les caractères d'entrée de la mémoire tampon de console et les stocke dans une mémoire tampon spécifiée. Une opération d'écriture de haut niveau prend des caractères dans une mémoire tampon spécifiée et les écrit dans une mémoire tampon de l'écran à l'emplacement actuel du curseur, en avançant le curseur au fur et à mesure que chaque caractère est écrit.

Les E/S de haut niveau vous donnent le choix entre les fonctions ReadFile et WriteFile et les fonctions ReadConsole et WriteConsole. Ils sont identiques, à l’exception de deux différences importantes. Les fonctions de console prennent en charge l'utilisation des caractères Unicode ou du jeu de caractères ANSI par le biais des variantes A et W de chaque fonction ; les fonctions d'E/S de fichier ne prennent pas en charge les caractères Unicode, à l'exception du jeu de caractères UTF-8 défini avec la constante CP_UTF8 des fonctions SetConsoleCP et SetConsoleOutputCP avant l'utilisation. En outre, les fonctions d'E/S de fichier peuvent être utilisées pour accéder aux fichiers, aux pipes et aux appareils de communication série ; les fonctions de console ne peuvent être utilisées qu'avec des descripteurs de console. Cette distinction est importante si une application s’appuie sur des descripteurs standard qui ont peut-être été redirigés.

En utilisant l'un ou l'autre ensemble de fonctions de haut niveau, une application peut contrôler le texte et les couleurs d'arrière-plan utilisés pour afficher les caractères écrits ultérieurement dans une mémoire tampon de l'écran, le mécanisme préféré étant celui des séquences de terminaux virtuels. Une application peut également utiliser les modes de console qui affectent les E/S de console de haut niveau pour activer ou désactiver les propriétés suivantes :

  • Écho de l'entrée de clavier dans la mémoire tampon de l'écran active
  • Entrée de ligne, dans laquelle une opération de lecture ne renvoie pas avant d'avoir appuyé sur la touche Entrée.
  • Traitement automatique de l’entrée de clavier pour gérer les retours chariots, Ctrl+C et d’autres détails d’entrée
  • Traitement automatique de la sortie pour gérer le retour automatique à la ligne, les retours chariots, les retours arrière et d’autres détails de sortie

Pour plus d’informations, voir les rubriques suivantes :