I/O della console di alto livello

Le funzioni di I/O di alto livello offrono un modo semplice per leggere un flusso di caratteri dall'input della console o scrivere un flusso di caratteri nell'output della console. Un'operazione di lettura di alto livello ottiene i caratteri di input dal buffer di input di una console e li archivia in un buffer specificato. Un'operazione di scrittura di alto livello accetta caratteri da un buffer specificato e li scrive in un buffer dello schermo nella posizione corrente del cursore, avanzando il cursore man mano che viene scritto ogni carattere.

L'I/O di alto livello offre una scelta tra le funzioni ReadFile e WriteFile e le funzioni ReadConsole e WriteConsole. Sono identiche, ad eccezione di due importanti differenze. Le funzioni della console supportano l'uso di caratteri Unicode o del set di caratteri ANSI tramite le varianti A e W di ogni funzione; Le funzioni di I/O del file non supportano Unicode ad eccezione di UTF-8 impostate con la CP_UTF8 costante nelle funzioni SetConsoleCP e SetConsoleOutputCP prima dell'uso. Inoltre, le funzioni di I/O dei file possono essere usate per accedere a file, pipe e dispositivi di comunicazione seriali; Le funzioni della console possono essere usate solo con gli handle della console. Questa distinzione è importante se un'applicazione si basa su handle standard che potrebbero essere stati reindirizzati.

Quando si usa un set di funzioni di alto livello, un'applicazione può controllare il testo e i colori di sfondo usati per visualizzare i caratteri scritti successivamente in un buffer dello schermo con il meccanismo preferito tramite sequenze di terminale virtuali. Un'applicazione può anche usare le modalità console che influiscono sull'I/O della console di alto livello per abilitare o disabilitare le proprietà seguenti:

  • Eco dell'input della tastiera nel buffer dello schermo attivo
  • Input di riga, in cui un'operazione di lettura non restituisce finché non viene premuto INVIO
  • Elaborazione automatica dell'input da tastiera per gestire i ritorni a capo, CTRL+C e altri dettagli di input
  • Elaborazione automatica dell'output per gestire il ritorno a capo, ritorno a capo, backspace e altri dettagli di output

Per ulteriori informazioni, vedi gli argomenti seguenti: