6.3.2 La fonction getch (spécifique à Borland) ou GetKey (spécifique à CVI)

Icône de l'outil pédagogique La fonction getch (spécifique à Borland) ou GetKey (spécifique à CVI)

Les fonctions dont nous allons parler ne sont pas portables : elles ne font pas partie du Langage C normalisé et dépendent du logiciel.

La fonction getch est réservée aux logiciels Borland et son équivalent GetGey à CVI. Elle ne figure pas dans la norme ANSI : elle n'est donc pas portable. Mais elle est très utile pour introduire une attente dans un programme (le programme s'arrête et ne se poursuit qu'après la frappe d'une touche).

La fonction getch / GetKey retourne un caractère depuis le clavier. Mais à la différence de scanf ou getchar :

– elle utilise le tampon du système au lieu du tampon du C : le caractère est donc lu immédiatement après qu'il ait été tapé par l'utilisateur, sans attendre la frappe d'ENTRÉE ;
– elle ne fait pas l'écho du caractère lu, c'est‐à‐dire n'affiche pas le caractère sur l'écran.

Sa syntaxe générale est :

 

Exemple 43 : Utilisation de getch (Borland) / GetKey (CVI) :

Remarquons l'existence chez Borland d'une fonction getche (getch avec écho) qui fonctionne comme getch (pas d'attente d'ENTRÉE), mais fait l'écho à l'écran du caractère tapé.