Allgemeine Konsolen-E/A
Die High-Level-E/A-Funktionen bieten eine einfache Möglichkeit, einen Datenstrom von Zeichen aus konsoleneingaben zu lesen oder einen Datenstrom von Zeichen in die Konsolenausgabe zu schreiben. Ein Lesevorgang auf hoher Ebene ruft Eingabezeichen aus dem Eingabepuffer einer Konsole ab und speichert sie in einem angegebenen Puffer. Ein Schreibvorgang auf hoher Ebene verwendet Zeichen aus einem angegebenen Puffer und schreibt sie an der aktuellen Cursorposition in einen Bildschirmpuffer, wobei der Cursor beim Schreiben jedes Zeichens voranschreitet.
High-Level I/O bietet Ihnen die Wahl zwischen den Funktionen ReadFile und WriteFile und den Funktionen ReadConsole und WriteConsole. Sie sind identisch, mit Ausnahme von zwei wichtigen Unterschieden. Die Konsolenfunktionen unterstützen die Verwendung von Unicode-Zeichen oder den ANSI-Zeichensatz über die Varianten A und W jeder Funktion; Die Datei-E/A-Funktionen unterstützen Unicode mit Ausnahme von UTF-8-Satz mit der Konstante für die CP_UTF8
Funktionen SetConsoleCP und SetConsoleOutputCP vor der Verwendung nicht. Außerdem können die Datei-E/A-Funktionen verwendet werden, um auf Dateien, Rohre und serielle Kommunikationsgeräte zuzugreifen; Die Konsolenfunktionen können nur mit Konsolenziehpunkten verwendet werden. Diese Unterscheidung ist wichtig, wenn eine Anwendung auf Standardhandles basiert, die möglicherweise umgeleitet wurden.
Bei Verwendung einer der beiden Sätze von Funktionen auf hoher Ebene kann eine Anwendung die Text- und Hintergrundfarben steuern, mit deren Hilfe Zeichen anschließend in einen Bildschirmpuffer geschrieben werden, wobei der bevorzugte Mechanismus über virtuelle Terminalsequenzen verwendet wird. Eine Anwendung kann auch die Konsolenmodi verwenden, die sich auf die E/A-Ebene der Konsole auswirken, um die folgenden Eigenschaften zu aktivieren oder zu deaktivieren:
- Echo der Tastatureingabe an den aktiven Bildschirmpuffer
- Zeileneingabe, in der ein Lesevorgang erst zurückgegeben wird, wenn die EINGABETASTE gedrückt wird
- Automatische Verarbeitung von Tastatureingaben zum Behandeln von Wagenrückläufen, STRG+C und anderen Eingabedetails
- Automatische Verarbeitung der Ausgabe zum Verarbeiten von Zeilenumbruch, Wagenrücklauf, Rücktasten und anderen Ausgabedetails
Weitere Informationen finden Sie in den folgenden Themen: