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.
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.