Klíčový rozdíl – getc vs getchar
Funkce je sada příkazů k provedení určitého úkolu. Při programování může uživatel definovat své funkce nebo použít funkce poskytované programovacím jazykem. Jazyk C má řadu funkcí, takže je může programátor používat přímo v kódování, aniž by je od začátku implementoval. Existuje několik funkcí, které se spojují se čtením znaků. Dva z nich jsou getc a getchar. Klíčový rozdíl mezi getc a getchar je v tom, že getc se používá ke čtení znaku ze vstupního proudu, jako je soubor nebo standardní vstup, zatímco getchar je ke čtení znaku ze standardního vstupu. Tento článek popisuje rozdíl mezi těmito dvěma funkcemi.
Co je getc?
Je to funkce, která se používá ke čtení znaku ze vstupního proudu, jako je soubor nebo klávesnice. Při úspěchu vrátí odpovídající celočíselnou hodnotu. Syntaxe getc je, int getc(Soubor stream). Viz níže uvedený příklad. Předpokládejme, že test.txt je prostý textový soubor v adresáři projektu. Tento soubor má dva znaky, které jsou „a“a „b“.
Obrázek 01: Čtení znaků souboru pomocí getc
Podle výše uvedeného programu se testovací soubor otevře v režimu čtení. Poté je pomocí funkce getc přečten první znak a uložen do proměnné c1. Výstup příkazu printf c1. Poté je načten druhý znak a uložen do proměnné c2. Výstup příkazu printf c2. Proto se funkce getc používá ke čtení znaku z proudu, jako je soubor.
Obrázek 02: Čtení znaků v souboru pomocí getc a smyčky.
Může být použit se smyčkou ke čtení všech znaků, jeden po druhém, dokud nedosáhne konce souboru (EOF), jak je uvedeno výše. Na obrazovce se zobrazí dva znaky v souboru test.txt.
Co je getchar()?
getchar() se používá ke čtení znaku pouze ze standardního vstupu. Čeká, dokud není stisknuto tlačítko Enter a na obrazovce se zobrazí hodnota. Jeho syntaxe je podobná jako int getchar(void);
Funkce getchar nevyžaduje argument jako getc. Ve výchozím nastavení funguje getchar pro standardní vstup. Proto není nutné předávat funkci getchar žádný argument. Podívejte se na níže uvedený příklad.
Obrázek 03: getchar
Když uživatel zadá vstupní znak, zobrazí se na obrazovce a čeká na stisknutí klávesy Enter. Po klávese Enter se výstup vytiskne na obrazovku kvůli funkci printf.
Stejné funkce getchar lze dosáhnout pomocí funkce getc následovně.
Obrázek 04: Funkce getchar pomocí getc
Podle výše uvedeného programu se ke čtení znaku používá funkce getc. Ukládá se do proměnné „ch“. Funkce getc argumentuje stdin, aby naznačila, že vstup je převzat ze standardního vstupu, kterým je klávesnice. Uživatel může zadat znak a stisknout klávesu Enter. Poté se tento znak vytiskne na obrazovku pomocí funkce printf.
Jaké jsou podobnosti mezi getc a getchar?
- Obě funkce poskytuje programovací jazyk C.
- Obě funkce vrátí konec souboru (EOF), když stream skončí.
Jaký je rozdíl mezi getc a getchar?
getc vs getchar |
|
getc je funkce C pro čtení znaku ze vstupního proudu, jako je souborový proud nebo standardní vstup. | getchar je funkce C pro čtení znaku pouze ze standardního vstupního proudu (stdin), kterým je klávesnice. |
Syntaxe | |
getc syntaxe je podobná syntaxi int getc(Soubor stream). | syntaxe getchar je podobná jako int getchar(void); |
Shrnutí – getc vs getchar
Programovací jazyk C poskytuje mnoho funkcí. Programátoři mohou tyto funkce používat, aniž by je od začátku implementovali. Dvě z těchto funkcí jsou getc a getchar. Rozdíl mezi getc a getchar spočívá v tom, že getc se používá ke čtení znaku ze vstupního proudu, jako je soubor nebo standardní vstup, a getchar slouží ke čtení znaku ze standardního vstupu. Oba se používají ke čtení znaku, ale jejich funkce se liší.
Stáhněte si PDF verzi getc vs getchar
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro offline účely podle citace. Stáhněte si prosím PDF verzi zde Rozdíl mezi getc a getchar