U ovom odjeljku naučit ćemo funkciju getchar() u programskom jeziku C. A getchar() funkcija je a nestandardni funkcija čije je značenje već definirano u stdin.h datoteku zaglavlja za prihvaćanje jednog unosa od korisnika. Drugim riječima, funkcija C knjižnice dobiva jedan znak (unsigned char) iz stdin-a. Međutim, funkcija getchar() slična je funkciji getc(), ali postoji mala razlika između funkcija getchar() i getc() C programski jezik . Getchar() čita jedan znak iz standardnog ulaza, dok getc() čita jedan znak iz bilo kojeg ulaznog toka.
Sintaksa
int getchar (void);
Nema nikakvih parametara. Međutim, vraća pročitane znakove kao unsigned char u int, a ako postoji pogreška u datoteci, vraća EOF na kraju datoteke.
Sada pišemo nekoliko funkcija getchar() programa za prihvaćanje pojedinačnih znakova u C-u i ispisivanje pomoću funkcije putchar().
Pročitajte jedan znak pomoću funkcije getchar().
Razmotrimo program koji uzima jednu pomoću funkcije getchar() u C-u.
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(); }
Izlaz
Enter a character A You have passed A
Kao što možemo vidjeti u gornjem programu, uzima jedan znak u vrijeme izvođenja od korisnika pomoću funkcije getchar(). Nakon dobivanja znaka, ispisuje slovo putem funkcije putchar().
Pročitajte n znakova od korisnika pomoću funkcije getchar().
Razmotrimo program za čitanje n znakova pomoću funkcije getchar() u C-u.
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; }
Izlaz
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:
Kao što možemo vidjeti u gornjem izlazu, while petlja kontinuirano prihvaća znak od korisnika sve dok korisnik ne prenese znak #. Ovdje funkcija getchar() uzima jedan znak iz standardnog ulaza i dodjeljuje ga ch varijabli. Dok funkcija putchar() ispisuje pročitani znak.
Pročitajte jedan znak pomoću funkcije scanf().
Razmotrimo program za čitanje znaka pomoću funkcije biblioteke scanf() u C-u.
Prog.c
#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; }
Izlaz
Enter the character A You have entered A
Kao što možemo vidjeti, kada izvršimo gornji program, on uzima jedan znak ili grupu znakova koristeći funkciju biblioteke scanf() umjesto funkcije getchar(). Ali postoji mala razlika; funkcija scanf() može uzeti jedan ili grupu znakova od korisnika, dok funkcija getchar() može prihvatiti samo jedan znak.
Ovdje ponovno izvršavamo gornji program, a ovaj put pokazuje rezultate u nastavku.
Enter the character Apple You have entered A
Čitajte znakove koristeći do-while petlju
Razmotrimo program za čitanje znakova pomoću funkcije do while i getchar() u C-u.
Dole1.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; }
Izlaz
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
U gornjem programu, do-while petlja kontinuirano prihvaća znakove sve dok korisnik ne prijeđe UNESI gumb za izlaz iz petlje.