Maison >développement back-end >C++ >Comment capturer immédiatement les frappes au clavier en C ?

Comment capturer immédiatement les frappes au clavier en C ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 03:36:31890parcourir

How to Capture Keystrokes Immediately in C  ?

Collecte d'entrées avec réponse immédiate des touches

En C, la collecte d'entrées à partir du clavier implique généralement l'utilisation de la fonction cin. Cependant, le comportement par défaut de cin oblige l'utilisateur à appuyer sur la touche Entrée pour terminer la saisie des caractères.

Problème :

Pour obtenir une saisie immédiate des caractères et l'exécution ultérieure du code, le code suivant ne parvient pas à fournir le résultat souhaité :

<code class="cpp">char c;
cin >> c;
cout << "Something" << endl;</code>

Pendant que cin.get() ou cin.get(c) lisent un seul caractère, ils attendent toujours la finalisation de la saisie en appuyant sur la touche Entrée.

Solution :

Pour simuler « Appuyez sur n'importe quelle touche pour continuer », des fonctions spécifiques à la plate-forme telles que system() peuvent être utilisées :

  • Windows :
<code class="cpp">system("pause");</code>
  • Mac et Linux :
<code class="cpp">system("read");</code>

Utilisation :

System("pause") et system("read") affichent efficacement "Appuyez sur n'importe quelle touche pour continuer..." et attendez qu'une touche soit enfoncée, facilitant la saisie immédiate des caractères et le passage à la prochaine ligne de code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn