La libreria conio.h: _kbhit e getch
La libreria “conio.h
” (console input/output) è una libreria non standard del linguaggio C e C++, utilizzata per l’input/output a livello di console. La libreria fornisce funzioni per la gestione dell’input e dell’output dei caratteri sulla console, come ad esempio la lettura dei caratteri premuti sulla tastiera senza la necessità di premere il tasto “invio” (funzioni _getch()
e _getche()
), la visualizzazione di testo a colori sulla console (funzione textcolor()
), la pulizia dello schermo della console (funzione clrscr()
) e altro ancora.
Ecco un esempio di come utilizzare alcune delle funzioni della libreria “conio.h
” in C++:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int scelta = 0;
do
{
system("cls"); // pulisce lo schermo della console
cout << "Menu" << endl;
cout << "1. Opzione 1" << endl;
cout << "2. Opzione 2" << endl;
cout << "3. Esci" << endl;
scelta = _getch() - '0'; // legge il carattere premuto e lo converte in un intero
} while (scelta != 3);
return 0;
}
In questo esempio, il programma mostra un menu a schermo utilizzando la funzione “cout” della libreria standard di C++. Per leggere la scelta dell’utente, viene utilizzata la funzione “_getch
” della libreria “conio.h
” per leggere il carattere premuto sulla tastiera senza la necessità di premere il tasto “invio”. Il valore letto viene quindi convertito in un intero e salvato nella variabile “scelta”. Il programma continua a mostrare il menu fino a quando l’utente non sceglie l’opzione “Esci” (scelta = 3). Quando l’utente sceglie l’opzione “Esci”, il programma termina.
_kbhit
La funzione “_kbhit
” è una funzione della libreria “conio.h
” disponibile in C e C++. Questa funzione viene utilizzata per controllare se è stata premuta una tastiera. La funzione restituisce un valore intero, che è diverso da zero se una tastiera è stata premuta, altrimenti restituisce zero.
In C++, è preferibile utilizzare la libreria “iostream
” e la funzione “cin” per leggere l’input dell’utente, piuttosto che la funzione “_kbhit
” della libreria “conio.h
“. Questo perché la libreria “conio.h” non è standard ANSI C++ e potrebbe non essere disponibile su tutte le piattaforme.
Ecco un esempio di come utilizzare la funzione “_kbhit
” in C++:
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
while (true)
{
if (_kbhit())
{
char ch = _getch(); // Legge il carattere premuto
cout << "Hai premuto la tastiera: " << ch << endl;
}
}
return 0;
}
In questo esempio, il programma esegue un ciclo infinito e controlla continuamente se una tastiera è stata premuta utilizzando la funzione “_kbhit
“. Se viene rilevata una pressione della tastiera, il programma legge il carattere premuto utilizzando la funzione “_getch
” e lo visualizza sulla console utilizzando la funzione “cout
“.
getch
La funzione “getch()
” è una funzione della libreria “conio.h
” disponibile in C e C++. Questa funzione viene utilizzata per leggere un carattere dalla tastiera senza la necessità di premere il tasto “invio”.
La funzione “getch()
” restituisce un valore intero, che rappresenta il codice ASCII del carattere premuto sulla tastiera. Il valore restituito può essere un carattere alfanumerico, una freccia direzionale, un tasto funzione, un tasto speciale, ecc.
Ecco un esempio di come utilizzare la funzione “getch()
” in C++:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char ch;
cout << "Premi un tasto sulla tastiera: ";
ch = getch();
cout << "Hai premuto il tasto " << ch << endl;
return 0;
}
In questo esempio, il programma mostra un messaggio sulla console e utilizza la funzione “getch()
” per leggere un carattere premuto sulla tastiera senza la necessità di premere il tasto “invio”. Il carattere letto viene quindi salvato nella variabile “ch” e viene visualizzato sulla console utilizzando la funzione “cout”.
La lezione sulla libreria conio.h viene trattata e mostrata nel corso dedicato al linguaggio C++: https://www.develop4fun.it/corso/fondamenti-di-programmazione-le-basi-del-linguaggio-c-plus-plus/lezioni/la-libreria-conio-h/
Fondamenti di programmazione: le basi del linguaggio C++: https://www.develop4fun.it/corso/fondamenti-di-programmazione-le-basi-del-linguaggio-c-plus-plus/
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it
ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q