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.

Sommario

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 funzionecout“.

_kbhit | Microsoft Learn

getch

La funzionegetch()” è 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 funzionegetch()” 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 funzionegetch()” 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 funzionegetch()” 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”.

getch | Microsoft Learn


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

Cat Dimension
Cat Dimension è un gioco di avventura disponibile su Steam: https://store.steampowered.com/app/1839780/Cat_Dimension
La libreria conio.h: _kbhit e getch - Develop4fun & Programmazione
Back