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 (funzionetextcolor()), la pulizia dello schermo della console (funzioneclrscr()) 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“.
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”.
Appassionata di giochi di ruolo giapponesi, genere che ha scoperto grazie alla saga Final Fantasy e approfondito con i capolavori usciti negli ultimi anni, s’interessa al retrogaming, rigiocando e programmando vecchie glorie come Monkey Island, Prince of Persia o vecchi capolavori marchiati Nintendo.
Antonella comincia il suo percorso giornalistico in Italia, lavorando con Gamerepublic, PS Mania e Pokémon Mania. Si trasferisce in Francia per studiare la programmazione web e gamedev: grazie a questo percorso anomalo nasce Develop4fun.
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.