Fonctions de base en langage C/conio.h

Leçons de niveau 15
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
conio.h
Icône de la faculté
Chapitre no 9
Leçon : Fonctions de base en langage C
Chap. préc. :time.h
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Fonctions de base en langage C : conio.h
Fonctions de base en langage C/conio.h
 », n'a pu être restituée correctement ci-dessus.

spécifique MS-DOS[modifier | modifier le wikicode]

La fonction suivante est réservée à DOS: elle n’est pas conforme au standard ANSI-C et elle n’est pas portable.

  • int getch(void)
getch lit un seul caractère au clavier et le retourne comme résultat sans l'écrire sur l'écran et sans attendre un retour à la ligne.

Sous Linux, un équivalent (sans conio.h) pourrais être :

int mygetch(void)
{
    struct termios oldt, newt;
    int ch;

    tcgetattr( STDIN_FILENO, &oldt );
    newt = oldt;
    newt.c_lflag &= ~( ICANON | ECHO );
    tcsetattr( STDIN_FILENO, TCSANOW, &newt );
    ch = getchar();
    tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
    return ch;
}