Differenza chiave – getc vs getchar
Una funzione è un insieme di istruzioni per eseguire un compito specifico. Nella programmazione, l'utente può definire le sue funzioni o utilizzare le funzioni fornite dal linguaggio di programmazione. Il linguaggio C ha un numero di funzioni, quindi il programmatore può usarle direttamente nella codifica senza implementarle dall'inizio. Ci sono poche funzioni che si associano alla lettura dei caratteri. Due di loro sono getc e getchar. La differenza fondamentale tra getc e getchar è che getc viene utilizzato per leggere un carattere da un flusso di input come un file o uno standard input mentre getchar è per leggere un carattere dallo standard input. Questo articolo discute la differenza tra queste due funzioni.
Cos'è getc?
È una funzione, utilizzata per leggere un carattere da un flusso di input come un file o una tastiera. Restituisce il valore intero corrispondente in caso di successo. La sintassi di getc è, int getc(File stream). Fare riferimento all'esempio di seguito. Si supponga che test.txt sia un file di testo normale nella directory del progetto. Questo file ha due caratteri che sono 'a' e 'b'.
Figura 01: Lettura di caratteri di un file usando getc
Secondo il programma sopra, il file di prova viene aperto in modalità di lettura. Quindi il primo carattere viene letto utilizzando la funzione getc e memorizzato nella variabile c1. L'output dell'istruzione printf c1. Quindi il secondo carattere viene letto e memorizzato nella variabile c2. L'istruzione printf emette c2. Pertanto, la funzione getc viene utilizzata per leggere un carattere da un flusso come un file.
Figura 02: Lettura di caratteri in un file usando getc e loop.
Può essere utilizzato con un ciclo per leggere tutti i caratteri, uno alla volta fino a raggiungere la fine del file (EOF) come sopra. I due caratteri nel file test.txt vengono visualizzati sullo schermo.
Cos'è getchar()?
getchar() viene utilizzato per leggere un carattere solo dallo standard input. Attende fino a quando non viene premuto il tasto Invio e la lettura può essere visualizzata sullo schermo. La sua sintassi è simile a int getchar(void);
La funzione getchar non richiede un argomento come getc. Per impostazione predefinita, getchar funziona per l'input standard. Pertanto, non è necessario passare alcun argomento alla funzione getchar. Fare riferimento all'esempio seguente.
Figura 03: getchar
Quando l'utente fornisce il carattere di input, viene visualizzato sullo schermo e attende fino a quando non viene premuto il tasto Invio. Dopo il tasto Invio, l'output viene stampato sullo schermo a causa della funzione printf.
La stessa funzionalità getchar può essere ottenuta utilizzando la funzione getc come segue.
Figura 04: Funzionalità getchar Utilizzo di getc
Secondo il programma sopra, la funzione getc viene utilizzata per leggere un carattere. È memorizzato nella variabile "ch". La funzione getc sostiene stdin per indicare che l'input è preso dallo standard input che è la tastiera. L'utente può dare un carattere e premere il tasto Invio. Quindi quel carattere viene stampato sullo schermo utilizzando la funzione printf.
Quali sono le somiglianze tra getc e getchar?
- Entrambe sono funzioni fornite dal linguaggio di programmazione C.
- Entrambe le funzioni restituiscono un End of File (EOF) al termine del flusso.
Qual è la differenza tra getc e getchar?
getc vs getchar |
|
getc è una funzione C per leggere un carattere da un flusso di input come un flusso di file o un input standard. | getchar è una funzione C per leggere un carattere solo dal flusso di input standard (stdin) che è la tastiera. |
Sintassi | |
La sintassi di getc è simile a int getc(File stream). | La sintassi di getchar è simile a int getchar(void); |
Riepilogo – getc vs getchar
Il linguaggio di programmazione C offre molte funzioni. I programmatori possono utilizzare queste funzioni senza implementarle dall'inizio. Due di queste funzioni sono getc e getchar. La differenza tra getc e getchar è che getc viene utilizzato per leggere un carattere da un flusso di input come un file o uno standard input e getchar è per leggere un carattere dallo standard input. Entrambi stanno usando per leggere un personaggio, ma le loro funzionalità sono diverse.
Scarica la versione PDF di getc vs getchar
Puoi scaricare la versione PDF di questo articolo e usarla per scopi offline come da nota di citazione. Si prega di scaricare la versione PDF qui Differenza tra getc e getchar