< Fonctions de base en langage C
fin de la boite de navigation du chapitre

spécifique MS-DOS

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;
}


Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.