nyckelskillnad – getc vs getchar
En funktion är en uppsättning satser för att utföra en specifik uppgift. Vid programmering kan användaren definiera sina funktioner eller använda funktionerna som tillhandahålls av programmeringsspråket. C-språket har ett antal funktioner, så programmeraren kan använda dem direkt i kodning utan att implementera dem från början. Det finns få funktioner som associeras med teckenläsning. Två av dem är getc och getchar. Den viktigaste skillnaden mellan getc och getchar är att getc används för att läsa ett tecken från en ingångsström som en fil eller standardinmatning medan getchar är att läsa ett tecken från standardinmatning. Den här artikeln diskuterar skillnaden mellan dessa två funktioner.
Vad är getc?
Det är en funktion som används för att läsa ett tecken från en inmatningsström som en fil eller ett tangentbord. Den returnerar motsvarande heltalsvärde vid framgång. Syntaxen för getc är, int getc(Fil ström). Se nedanstående exempel. Antag att test.txt är en vanlig textfil i projektkatalogen. Den här filen har två tecken som är 'a' och 'b'.
Figur 01: Läsa tecken i en fil med getc
Enligt ovanstående program öppnas testfilen i läsläge. Sedan läses det första tecknet med getc-funktionen och lagras i variabel c1. Utmatningen av printf-satsen c1. Sedan läses det andra tecknet och lagras i variabel c2. Utmatningen av printf-satsen c2. Därför används getc-funktionen för att läsa ett tecken från en ström, till exempel en fil.
Figur 02: Läsa tecken i en fil med getc och loop.
Den kan användas med en loop för att läsa alla tecken, ett i taget tills det når slutet av filen (EOF) enligt ovan. De två tecknen i test.txt-filen visas på skärmen.
Vad är getchar()?
getchar() används för att endast läsa ett tecken från standardinmatningen. Den väntar tills enter-tangenten trycks ned och läsningen kan ses på skärmen. Dess syntax liknar int getchar(void);
Funktionen getchar kräver inte ett argument som getc. Som standard fungerar getchar för standardinmatning. Därför är det inte nödvändigt att skicka något argument till getchar-funktionen. Se exemplet nedan.
Figur 03: getchar
När användaren anger det inmatade tecknet, visas det på skärmen och väntar tills enter-tangenten trycks ned. Efter enter-tangenten skrivs resultatet ut på skärmen på grund av printf-funktionen.
Samma getchar-funktionalitet kan uppnås med getc-funktionen enligt följande.
Figur 04: getchar-funktioner Använda getc
Enligt programmet ovan används getc-funktionen för att läsa ett tecken. Den lagras i variabeln "ch". Getc-funktionen argumenterar stdin för att indikera att ingången är hämtad från standardingången som är tangentbordet. Användaren kan ge ett tecken och trycka på enter-tangenten. Sedan skrivs det tecknet ut på skärmen med printf-funktionen.
Vilka är likheterna mellan getc och getchar?
- Båda är funktioner som tillhandahålls av programmeringsspråket C.
- Båda funktionerna returnerar en End of File (EOF) när streamen slutar.
Vad är skillnaden mellan getc och getchar?
getc vs getchar |
|
getc är en C-funktion för att läsa ett tecken från en indataström, till exempel en filström eller standardinmatning. | getchar är en C-funktion för att endast läsa ett tecken från standardinmatningsströmmen (stdin) som är tangentbordet. |
Syntax | |
getc-syntax liknar int getc(File stream). | getchar-syntax liknar int getchar(void); |
Sammanfattning – getc vs getchar
C-programmeringsspråket har många funktioner. Programmerare kan använda dessa funktioner utan att implementera dem från början. Två av sådana funktioner är getc och getchar. Skillnaden mellan getc och getchar är att getc används för att läsa ett tecken från en indataström som en fil eller standardinmatning och getchar är att läsa ett tecken från standardinmatning. Båda använder för att läsa en karaktär, men deras funktioner är olika.
Ladda ned PDF-versionen av getc vs getchar
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här Skillnaden mellan getc och getchar