Pourquoi getch() retourne avant d'appuyer sur une touche?

int main(int argc, char *argv[], char *env[])
{
    printf("Press any key to exit.\n");
    getch();
    return 0;
}

Selon la page de man,

getch doit attendre jusqu'à ce que vous appuyez sur une touche

...mais en fait, il renvoie directement avant d'appuyer sur une touche. (La valeur retournée est -1).

Pourquoi?


Mise à jour

Je suis sur Linux. Comment puis-je mettre en œuvre Press any key to exit., si vous n'utilisez pas getch()?

getchar() retournera seulement après avoir appuyé sur Enter, ce n'est pas ce que je veux.

OriginalL'auteur new_perl | 2011-09-14