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[1] contengono questo header, a differenza della maggior parte dei compilatori per UNIX e Linux. Alcuni sistemi integrati usano una libreria compatibile con conio.h[2].
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[3]
- 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[4].
- 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.