Diferència clau: getc vs getchar
Una funció és un conjunt d'instruccions per dur a terme una tasca específica. En programació, l'usuari pot definir les seves funcions o utilitzar les funcions que ofereix el llenguatge de programació. El llenguatge C té un nombre de funcions, de manera que el programador les pot utilitzar directament en la codificació sense implementar-les des del principi. Hi ha poques funcions que s'associen amb la lectura de personatges. Dos d'ells són getc i getchar. La diferència clau entre getc i getchar és que el getc s'utilitza per llegir un caràcter d'un flux d'entrada, com ara un fitxer o una entrada estàndard, mentre que getchar és per llegir un caràcter des d'una entrada estàndard. En aquest article es parla de la diferència entre aquestes dues funcions.
Què és getc?
És una funció que s'utilitza per llegir un caràcter d'un flux d'entrada, com ara un fitxer o un teclat. Retorna el valor enter corresponent en cas d'èxit. La sintaxi de getc és, int getc(Fitxer stream). Consulteu l'exemple següent. Suposem que test.txt és un fitxer de text senzill al directori del projecte. Aquest fitxer té dos caràcters que són "a" i "b".
Figura 01: lectura de caràcters d'un fitxer mitjançant getc
Segons el programa anterior, el fitxer de prova s'obre en mode de lectura. A continuació, el primer caràcter es llegeix mitjançant la funció getc i s'emmagatzema a la variable c1. La instrucció printf surt c1. A continuació, el segon caràcter es llegeix i s'emmagatzema a la variable c2. La instrucció printf surt c2. Per tant, la funció getc s'utilitza per llegir un caràcter d'un flux com ara un fitxer.
Figura 02: Llegir caràcters en un fitxer mitjançant getc i loop.
Es pot utilitzar amb un bucle per llegir tots els caràcters, d'un en un fins que arriba al final del fitxer (EOF) com a d alt. Els dos caràcters del fitxer test.txt es mostren a la pantalla.
Què és getchar()?
getchar() s'utilitza per llegir un caràcter només des de l'entrada estàndard. Espera fins que es prem la tecla Intro i es pot veure la lectura a la pantalla. La seva sintaxi és similar a int getchar(void);
La funció getchar no requereix un argument com getc. Per defecte, getchar funciona per a l'entrada estàndard. Per tant, no és necessari passar cap argument a la funció getchar. Consulteu l'exemple següent.
Figura 03: getchar
Quan l'usuari dóna el caràcter d'entrada, es mostra a la pantalla i espera fins que es prem la tecla Intro. Després de la tecla Intro, la sortida s'imprimeix a la pantalla a causa de la funció printf.
La mateixa funcionalitat getchar es pot aconseguir amb la funció getc de la següent manera.
Figura 04: Funcionalitat getchar Ús de getc
Segons el programa anterior, la funció getc s'utilitza per llegir un caràcter. S'emmagatzema a la variable "ch". La funció getc argumenta stdin per indicar que l'entrada es pren de l'entrada estàndard que és el teclat. L'usuari pot donar un caràcter i prémer la tecla Intro. Aleshores, aquest caràcter s'imprimeix a la pantalla mitjançant la funció printf.
Quines similituds hi ha entre getc i getchar?
- Totes dues són funcions proporcionades pel llenguatge de programació C.
- Les dues funcions retornen un final de fitxer (EOF) quan finalitza la reproducció.
Quina diferència hi ha entre getc i getchar?
getc contra getchar |
|
getc és una funció C per llegir un caràcter d'un flux d'entrada, com ara un flux de fitxers o una entrada estàndard. | getchar és una funció C per llegir només un caràcter del flux d'entrada estàndard (stdin) que és el teclat. |
Sintaxi | |
La sintaxi getc és similar a int getc(Fitxer stream). | La sintaxi getchar és similar a int getchar(void); |
Resum: getc vs getchar
El llenguatge de programació C ofereix moltes funcions. Els programadors poden utilitzar aquestes funcions sense implementar-les des del principi. Dues d'aquestes funcions són getc i getchar. La diferència entre getc i getchar és que getc s'utilitza per llegir un caràcter d'un flux d'entrada, com ara un fitxer o una entrada estàndard, i getchar és per llegir un caràcter des d'una entrada estàndard. Tots dos utilitzen per llegir un personatge, però les seves funcionalitats són diferents.
Descarregueu la versió PDF de getc vs getchar
Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Baixeu la versió PDF aquí Diferència entre getc i getchar