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[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.
  1. ^ Console and Port I/O in MSDN, su msdn.microsoft.com.
  2. ^ MicroVGA conio Text User Interface Library, su microvga.com. URL consultato l'11 ottobre 2012 (archiviato dall'url originale il 21 giugno 2014).
  3. ^ conio.h - Programming Simplified, su programmingsimplified.com.
  4. ^ colors in c graphics - Programming Simplified, su programmingsimplified.com.