Conio.h
# Conio.h

conio.h è un header file del linguaggio di programmazione C. È utilizzato dai compilatori per MS-DOS per creare interfacce testuali. Non è descritto nel libro Il linguaggio C di Brian Kernighan e Dennis Ritchie, in quanto non fa parte della libreria standard del C. Inoltre non è incluso nella famiglia di standard POSIX.

In questa intestazione sono dichiarate diverse funzioni create perché un programma possa eseguire particolari operazioni di input/output su terminale. Molti dei compilatori C per DOS, Windows 3.x, OS/2, o Win32 contengono questo header, a differenza della maggior parte dei compilatori per UNIX e Linux. Alcuni sistemi integrati usano una libreria compatibile con conio.h.

Le funzioni di libreria dichiarate da conio.h variano da compilatore a compilatore. Originariamente, nel linguaggio Lattice C, le funzioni erano mappate direttamente sulle prime funzioni int 21h del DOS. Successivamente, la libreria fornita con il Turbo C non utilizzava più le API di DOS ma accedeva direttamente alla RAM video, utilizzando gli interrupt del BIOS per gli output a schermo.

## Alcune funzioni della libreria

* kbhit - Se un tasto qualsiasi viene premuto, questa funzione restituisce un valore non nullo, altrimenti restituisce 0.
* getch - Legge l'immissione da console di un carattere senza passare per il buffer e senza stampare a schermo il carattere digitato.
* getche - Come getch ma stampando a schermo il carattere digitato.
* clrscr - Cancella lo schermo e muove il cursore nell'angolo in alto a sinistra dello schermo.
* delline - Sposta in alto di una linea, tutte le linee presenti sotto il cursore (cancellando, quindi, la linea in cui si trova il cursore stesso).
* gotoxy(int x, int y) - Questa funzione richiede come argomenti due numeri interi, X ed Y, e muove il cursore nella posizione di coordinate (X,Y) sullo schermo.
* wherex - Restituisce la coordinata X del cursore, nel momento dell'esecuzione della funzione.
* wherey - Restituisce la coordinata Y del cursore, nel momento dell'esecuzione della funzione.
* textcolor(int colorcode) - Cambia il colore del testo. L'argomento colorcode è un numero intero che seleziona il colore scelto. Oltre ad inserire direttamente il codice numerico come argomento, possono essere utilizzati anche i seguenti parametri predefiniti: BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE.
* textbackground(int colorcode) - Cambia il colore dello sfondo del testo inserito. I codici numerici che individuano il colore sono gli stessi definiti per la funzione textcolor.
