La librairie conio.h : _kbhit et getch
La bibliothèque “conio.h
” (input/output de la console) est une bibliothèque non standard pour les langages C et C++, utilisée pour la gestion de l’entrée/sortie au niveau de la console.
Cette bibliothèque fournit des fonctions pour la gestion des caractères d’entrée et de sortie sur la console, comme la lecture des caractères appuyés sur le clavier sans avoir besoin d’appuyer sur la touche “Entrée” (fonctions _getch()
et _getche()
), l’affichage de texte en couleur sur la console (fonction textcolor()
), le nettoyage de l’écran de la console (fonction clrscr()
) et bien d’autres encore.
Voici un exemple de l’utilisation de certaines des fonctions de la bibliothèque “conio.h
” en C++:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int choix= 0;
do
{
system("cls"); // efface l'écran de la console
cout << "Menu" << endl;
cout << "1. Option 1" << endl;
cout << "2. Option 2" << endl;
cout << "3. Quitter" << endl;
choix = _getch() - '0'; // lit le caractère pressé et le convertit en entier
} while (choix!= 3);
return 0;
}
Dans cet exemple, le programme affiche un menu à l’écran en utilisant la fonction “cout
” de la bibliothèque standard de C++. Pour lire le choix de l’utilisateur, la fonction “_getch
” de la bibliothèque “conio.h
” est utilisée pour lire le caractère appuyé sur le clavier sans avoir besoin d’appuyer sur la touche “Entrée”. La valeur lue est ensuite convertie en entier et enregistrée dans la variable “choix
“. Le programme continue d’afficher le menu jusqu’à ce que l’utilisateur choisisse l’option “Quitter” (choix = 3). Lorsque l’utilisateur choisit l’option “Quitter”, le programme se termine.
_kbhit
La fonction “_kbhit
” est une fonction de la bibliothèque “conio.h
” disponible en C et C++. Cette fonction est utilisée pour vérifier si une touche du clavier a été appuyée. La fonction renvoie une valeur entière, qui est différente de zéro si une touche du clavier a été appuyée, sinon elle renvoie zéro.
En C++, il est préférable d’utiliser la bibliothèque “iostream
” et la fonction “cin
” pour lire l’entrée de l’utilisateur, plutôt que la fonction “_kbhit
” de la bibliothèque “conio.h
“. Cela est dû au fait que la bibliothèque “conio.h
” n’est pas standard ainsi C++ et peut ne pas être disponible sur toutes les plateformes.
Voici un exemple de l’utilisation de la fonction “_kbhit
” en C++:
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
while (true)
{
if (_kbhit())
{
char ch = _getch(); // Lit le caractère pressé
cout << "Vous avez appuyé sur le clavier : " << ch << endl;
}
}
return 0;
}
Dans cet exemple, le programme exécute une boucle infinie et vérifie continuellement si une touche du clavier a été appuyée en utilisant la fonction “_kbhit
“. Si une pression de touche est détectée, le programme lit le caractère appuyé en utilisant la fonction “_getch
” et l’affiche sur la console en utilisant la fonction “cout
“.
getch
La fonction “getch()
” renvoie une valeur entière, qui représente le code ASCII du caractère pressé sur le clavier. La valeur renvoyée peut être un caractère alphanumérique, une flèche directionnelle, une touche de fonction, une touche spéciale, etc.
Voici un exemple d’utilisation de la fonction “getch()
” en C++ :
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char ch;
cout << "Appuyez sur une touche du clavier : ";
ch = getch();
cout << "Vous avez appuyé sur la touche" << ch << endl;
return 0;
}
Dans cet exemple, le programme affiche un message sur la console et utilise la fonction “getch()
” pour lire un caractère pressé sur le clavier sans avoir besoin de presser la touche “Entrée”. Le caractère lu est ensuite stocké dans la variable “ch
” et affiché sur la console en utilisant la fonction cout
.
Formations de Develop4fun
- Formation WordPress : le cours complet
- Parcours pour devenir un programmeur web
- Créez vos jeux avec UNITY3D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à créer des jeux 2D facilement avec LUA et LÖVE 2D
- Parcours pour devenir un programmeur de jeux vidéo
- Apprenez à programmer en C#
- Apprenez à programmer en C++
▼ SUIVEZ-NOUS SUR ▼
» Facebook: https://www.facebook.com/developforfun
» Instagram: https://www.instagram.com/develop4fun
» Twitter: https://twitter.com/Develop4fun
VISITEZ NOTRE SITE WEB: https://www.develop4fun.fr
ABONNEZ-VOUS À NOTRE CHAÎNE YOUTUBE : https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q
Étiquette :gamedev, Indie Gamedev