funzione getch in C++

Funzione Getch In C



Nell'ambito dei linguaggi di programmazione C e C++ vengono utilizzati diversi metodi e librerie naturali. In questo articolo esamineremo da vicino il metodo getch() del C++. La funzione getch() viene utilizzata quando desideriamo leggere una stringa di caratteri dalla nostra tastiera e non proietta alcun output sullo schermo. Qui esploreremo correttamente questa funzione getch() con l'aiuto di esempi e prove validi per la tua consapevolezza. Questo metodo è utilizzabile principalmente in scenari (output) basati su console in C++ per ricevere input dall'utente.

Cos'è Getch() in C++?

In C++, la libreria denominata file di intestazione 'cstdio' viene utilizzata principalmente per la funzione getch(). Getch() è definito anche nel file “conio. h' che è specifico del compilatore ed è una funzione non standard perché non fa completamente parte dello standard della libreria C++. L'abbreviazione di getch è 'ottieni carattere' e viene utilizzata per rimanere nella schermata di output per un po' finché l'utente non supera l'input.

Approfondiamo meglio questo concetto con l'aiuto di esempi. Qui impareremo la sintassi, l'utilizzo e il comportamento del metodo getch() in C++ con l'aiuto di scenari adeguati.







Scenario 1: come utilizzare Getch() in un'applicazione basata su menu

Parliamo della piccola applicazione basata su menu per la quale elencheremo diverse opzioni. Ogni opzione è progettata per scopi diversi, come il menu di un ristorante. Lo snippet di codice di questo esempio è allegato di seguito:



#include
#include
#include
utilizzando spazio dei nomi standard ;
int principale ( ) {
car scelta ;
standard :: cout << 'Menu Ristorante: \N ' ;
standard :: cout << '1. Opzione 1: Pizza \N ' ;
standard :: cout << '2. Opzione 2: hamburger \N ' ;
standard :: cout << '3. Opzione 3: Torta \N ' ;
standard :: cout << 'Inserisci la tua scelta: ' ;
scelta = prendi ( ) ; // l'utente fornisce l'input e getch() legge l'input senza premere il pulsante Invio
interruttore ( scelta ) {
caso '1' :
standard :: cout << ' \N selezioni 'Pizza' \N ' ;
rottura ;
caso '2' :
standard :: cout << ' \N Seleziona 'Hamburger' \N ' ;
rottura ;
caso '3' :
standard :: cout << ' \N Seleziona 'Torta' \N ' ;
rottura ;
predefinito :
standard :: cout << '\Nessuna scelta - Nessun ordine \N ' ;
}
ritorno 0 ;
}

Per prima cosa dichiariamo le librerie standard richieste all'avvio del programma. Creiamo una logica all'interno della funzione principale e qualsiasi cosa all'interno della funzione principale del programma sarà eseguibile. Qui dichiariamo una variabile “scelta” il cui tipo di dati è un carattere. Quindi, creiamo un menu visibile sullo schermo della console. Diamo all'utente un 'Menu del ristorante' con diverse opzioni come 'Pizza', 'Hamburger', 'Torta' e 'Nessuna scelta'.



Passiamo getch() alla variabile choice perché l'input dell'utente è memorizzato in questa variabile e visualizziamo l'output automaticamente in base all'opzione selezionata. Per selezionare un'opzione dal menu, utilizziamo la funzione switch() e passiamo 'scelta' in questa funzione. All'interno del metodo 'switch', presentiamo i casi contro ciascuna opzione individualmente. Nel metodo 'switch' in C++, alla fine di ogni caso viene sempre utilizzata un'istruzione break che indica la fine dell'istruzione. Quando lo compiliamo ed eseguiamo, l'output viene mostrato sulla schermata della console allegata di seguito:





Ora, la funzione getch() funzionerà qui. Quando l'utente inserisce la scelta, la funzione getch() confronterà questo input con il caso dello switch e mostrerà automaticamente e immediatamente l'output o l'opzione sulla console.



Nello screenshot precedentemente allegato, l'utente inserisce la scelta '2' e l'output appare sullo schermo come 'seleziona 'Burger''. Il funzionamento di getch() viene cancellato in questo esempio quando l'utente immette l'input e l'output previsto viene visualizzato sullo schermo della console invece dell'input fornito dall'utente mostrato sulla console.

Scenario 2: accettare la password nascosta dall'utente utilizzando Getch()

In questo scenario, esamineremo il concetto su come l'utente può inserire segretamente la password e mostrare la password di input sullo schermo della console. Qui utilizziamo la funzione getch() per mantenere lo schermo finché l'utente non passa l'input. Ricorda che getch() non visualizza l'input dell'utente poiché il cursore non visualizza l'input sullo schermo della console. Lo snippet di codice di questo scenario è menzionato come segue:

#include
#include
#include
#include
#include
int principale ( )
{
car paw [ 8 ] ;
int M ;
standard :: cout << 'Inserisci una password di 8 cifre: ' ;
per ( M = 0 ; M <= 7 ; M ++ ) {
paw [ M ] = prendi ( ) ;
standard :: cout << '*' ;
}
paw [ M ] = ' \0 ' ;
standard :: cout << ' \N ' ;
standard :: cout << 'Mostra la password inserita:' ;
per ( M = 0 ; paw [ M ] ! = ' \0 ' ; M ++ )
standard :: cout << ( '%C' , paw [ M ] ) ;
prendi ( ) ;
ritorno 0 ;
}

Come visto nel codice fornito, aggiungi le librerie standard essenziali per l'utilizzo della funzione getch() e per visualizzare l'output sullo schermo. La funzione principale di questo programma è contenere i diversi passaggi attraverso i quali inseriamo una password da parte dell'utente e mostriamo la password sullo schermo. Abbiamo bisogno della variabile array il cui tipo di dati è 'Char' con una dimensione di 8 elementi. Oltre a questo, abbiamo anche bisogno di una variabile che memorizzi i valori dell'iterazione.

Qui utilizziamo un 'Ciclo For' che legge ogni conteggio di input dell'utente se la dimensione dell'array è '8'. Quindi, l'utente preme solo la chiave password nella finestra della console di input con l'aiuto del loop. All'interno di questo ciclo “for”, passiamo la funzione getch() all'array passw[]. Questa funzione rimane sullo schermo finché l'utente non inserisce gli 8 caratteri della password. Ad ogni conteggio del ciclo, stampa '*' su ogni conteggio dell'input dell'utente e il ciclo viene chiuso qui.

Successivamente, utilizziamo nuovamente il ciclo 'for' che mostra la password nascosta stessa semplicemente prendendo i valori da passw[]. Getch mantiene automaticamente lo schermo finché l'input dell'utente non viene memorizzato perfettamente nell'array e visualizza la password sullo schermo.

Fare clic sull'opzione 'Compile and Run' per eseguire il programma e mostrare l'output sullo schermo.

Immettere la password di 8 cifre sullo schermo. Al termine dell'immissione di 8 cifre, viene visualizzata automaticamente la password digitata nella finestra della console. Premere i tasti della tastiera 8 volte e digitare la password.

La schermata di output si blocca solo a causa della funzione getch(). La funzione getch() stampa semplicemente i dati di input sullo schermo come mostrato nello screenshot precedentemente allegato.

Conclusione

Per concludere, getch() è la funzione più importante della programmazione C e C++ che consente all'utente di congelare l'input dalla tastiera senza visualizzare o senza che il cursore mostri un input sullo schermo. A causa della sua libreria non standard, se non utilizziamo getch() nel programma, la finestra della console verrà visualizzata fino a quando il tempo richiesto per l'esecuzione del programma sarà espresso in millisecondi. In questo articolo, abbiamo spiegato questo metodo con esempi di codice adeguati.