Ebben a részben a getchar() függvényt tanuljuk meg a C programozási nyelvben. A getchar() funkció a nem szabványos függvény, amelynek jelentése már definiált a stdin.h fejlécfájlt, hogy egyetlen bevitelt fogadjon el a felhasználótól. Más szóval, a C függvénytár függvény egyetlen karaktert (előjel nélküli karaktert) kap az stdin-től. A getchar() függvény azonban hasonló a getc() függvényhez, de van egy kis különbség a getchar() és getc() függvénye között. C programozási nyelv . A getchar() egyetlen karaktert olvas be a szabványos bemenetről, míg a getc() egyetlen karaktert bármely bemeneti adatfolyamból.
Szintaxis
int getchar (void);
Nincsenek paraméterei. Az olvasott karaktereket azonban előjel nélküli karakterként adja vissza az int-ben, és ha hiba van egy fájlban, akkor a EOF a fájl végén.
Most több getchar() függvényprogramot írunk, amelyek egyetlen karaktert fogadnak el C-ben, és kinyomtatják őket a putchar () függvény segítségével.
Olvasson be egyetlen karaktert a getchar() függvény segítségével
Tekintsünk egy olyan programot, amely a getchar() függvényt használja C-ben.
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(); }
Kimenet
Enter a character A You have passed A
Amint a fenti programban láthatjuk, a getchar() függvényt használó felhasználótól a futási időben egyetlen karaktert vesz el. A karakter megszerzése után a putchar() függvényen keresztül kiírja a betűt.
Olvasson n karaktert a felhasználótól a getchar() függvény segítségével
Tekintsünk egy programot, amely n karaktert olvas be a getchar() függvény segítségével C-ben.
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; }
Kimenet
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:
Amint a fenti kimenetben láthatjuk, egy while ciklus folyamatosan fogad egy karaktert a felhasználótól, amíg a felhasználó nem adja át a # karaktert. Itt a getchar() függvény egyetlen karaktert vesz át a szabványos bemenetből, és hozzárendeli egy ch változóhoz. Míg a putchar() függvény kiírja az olvasott karaktert.
Olvasson be egyetlen karaktert a scanf() függvény segítségével
Tekintsünk egy programot, amely beolvas egy karaktert a scanf() függvénykönyvtár segítségével C-ben.
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; }
Kimenet
Enter the character A You have entered A
Amint látjuk, amikor a fenti programot végrehajtjuk, egyetlen karaktert vagy karaktercsoportot vesz igénybe a scanf() függvénytár használatával a getchar() függvény helyett. De van egy kis különbség; a scanf() függvény egyetlen karaktert vagy karaktercsoportot vehet át a felhasználótól, míg a getchar() függvény csak egyetlen karaktert képes elfogadni.
Itt ismét végrehajtjuk a fenti programot, és ezúttal az alábbi eredményeket mutatja.
Enter the character Apple You have entered A
Olvassa el a karaktereket do-while ciklus segítségével
Tekintsünk egy programot a karakterek beolvasására a do while és a getchar() függvényekkel C-ben.
Dowhile1.c
filmszínésznő kajal
#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; }
Kimenet
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
A fenti programban egy do-while ciklus folyamatosan fogadja a karaktereket, amíg a felhasználó át nem adja a BELÉP gombot a ciklusból való kilépéshez.