logo

Funkce Getchar() v C

V této části se naučíme funkci getchar() v programovacím jazyce C. A getchar() funkce je a nestandardní funkce, jejíž význam je již definován v stdin.h hlavičkový soubor pro přijetí jediného vstupu od uživatele. Jinými slovy, je to funkce knihovny C, která získá jeden znak (nepodepsaný znak) z stdin. Funkce getchar() je však podobná funkci getc(), ale mezi funkcemi getchar() a getc() je malý rozdíl. C programovací jazyk . Getchar() čte jeden znak ze standardního vstupu, zatímco getc() čte jeden znak z libovolného vstupního proudu.

Funkce Getchar() v C

Syntax

 int getchar (void); 

Nemá žádné parametry. Vrátí však přečtené znaky jako nepodepsaný znak v int, a pokud je v souboru chyba, vrátí EOF na konci souboru.

vystřihovací nástroj v ubuntu

Nyní napíšeme několik funkčních programů getchar() pro akceptování jednotlivých znaků v C a vytiskneme je pomocí funkce putchar ().

Přečtěte si jeden znak pomocí funkce getchar().

Uvažujme program, který vezme singl pomocí funkce getchar() v C.

Program.c

 #include #include void main() { char c; printf ('
 Enter a character 
'); c = getchar(); // get a single character printf(' You have passed '); putchar(c); // print a single character using putchar getch(); } 

Výstup

 Enter a character A You have passed A 

Jak můžeme vidět ve výše uvedeném programu, bere za běhu uživateli pomocí funkce getchar() jeden znak. Po získání znaku vytiskne písmeno pomocí funkce putchar().

Přečtěte n znaků od uživatele pomocí funkce getchar().

Uvažujme program pro čtení n znaků pomocí funkce getchar() v C.

Getchar.c

 #include #include #include int main() { char ch; printf (' Enter a character ( If we want to exit press #) 
'); while (ch != '#') /* accept the number till the user does not enter the # to exit from the loop. */ { ch = getchar(); printf (' 
 We have entered the character : '); putchar (ch); // print a single character printf ('
'); } return 0; } 

Výstup

 Enter a character ( If we want to exit.. press #) A We have entered the character: A We have entered the character: B We have entered the character: B We have entered the character: C We have entered the character: C We have entered the character: 

Jak můžeme vidět na výše uvedeném výstupu, smyčka while nepřetržitě přijímá znak od uživatele, dokud uživatel nepředá znak #. Zde funkce getchar() vezme jeden znak ze standardního vstupu a přiřadí ho proměnné ch. Zatímco funkce putchar() vypíše přečtený znak.

Přečtěte si jeden znak pomocí funkce scanf().

Uvažujme program pro čtení znaku pomocí funkce knihovny scanf() v C.

Prog.c

kreslení obdélníku gimp
 #include #include int main() { char ch; printf ('
 Enter the character 
'); scanf ('%c', &ch); // get a single character, numeric or words printf( ' You have entered %c', ch); /* It print a single character or first letter of the words. */ return 0; } 

Výstup

 Enter the character A You have entered A 

Jak vidíme, když spustíme výše uvedený program, vezme jeden znak nebo skupinu znaků pomocí funkce knihovny scanf() namísto funkce getchar(). Ale je tu malý rozdíl; funkce scanf() může od uživatele převzít jeden znak nebo skupinu znaků, zatímco funkce getchar() může přijmout pouze jeden znak.

Zde znovu spustíme výše uvedený program a tentokrát ukazuje níže uvedené výsledky.

šedý kód
 Enter the character Apple You have entered A 

Přečtěte si znaky pomocí cyklu do-while

Uvažujme program pro čtení znaků pomocí funkcí do while a getchar() v C.

Dowhile1.c

 #include #include int main() { int ch, i = 0; char str[150]; printf (' Enter the characters from the keyboard (Press Enter button to stop).
'); // use do while loop to define the condition do { ch = getchar(); // takes character, number, etc from the user str[i] = ch; // store the ch into str[i] i++; // increment loop by 1 } while (ch != '
'); // ch is not equal to '
' printf('Entered characters are %s ', str); return 0; } 

Výstup

 Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come 

Ve výše uvedeném programu smyčka do-while nepřetržitě přijímá znaky, dokud uživatel neprojde ENTER tlačítko pro opuštění smyčky.