Comment utiliser la touche d’échappement pour terminer une boucle en C

Je veux juste terminer une boucle Do While en C comme ceci:

#include  #include  main() { char exit; do{ printf("PLEASE INSERT OPTION:"); exit = getchar(); }while(exit != '\027'); }//main 

Je pense que c’est un peu comme ça.

27 est la valeur ASCII décimale pour Escape, mais vous utilisez un code de caractère octal. Vous devriez dire 27 , ou '\033' (ou '\x1b' pour hex qui est plus commun). Cela pourrait être le problème, en supposant que votre terminal laisse passer le caractère d’échappement. Parfois, ils sont utilisés pour la magie au niveau du terminal et sont donc “mangés” par le terminal.

Notez également que getchar() , malgré son nom, retourne int et non char . Il peut également renvoyer la valeur non-caractère EOF (si vous appuyez sur Ctrl + D (sous Unix)), ainsi un type plus grand est nécessaire.

Je viens de trouver le problème, regardez ce code:

 #include  #include  main() { int exit; do{ printf("PLEASE INSERT OPTION:"); exit = getch(); }while(exit != 27); }//main 

Ça a marché. Merci pour l’aide. @MichaelWalz @DrewMcGowen @ 2501 @unwind