En aquesta secció, aprendrem la funció getchar() en el llenguatge de programació C. A getchar() la funció és a no estàndard funció el significat de la qual ja està definit a la stdin.h fitxer de capçalera per acceptar una única entrada de l'usuari. En altres paraules, és la funció de biblioteca C la que obté un sol caràcter (car sense signar) de l'stdin. Tanmateix, la funció getchar() és similar a la funció getc(), però hi ha una petita diferència entre la funció getchar() i getc() de la Llenguatge de programació C . Un getchar() llegeix un sol caràcter de l'entrada estàndard, mentre que un getc() llegeix un sol caràcter de qualsevol flux d'entrada.
Sintaxi
int getchar (void);
No té cap paràmetre. Tanmateix, retorna els caràcters llegits com un caràcter sense signar en un int, i si hi ha un error en un fitxer, retorna el EOF al final de l'arxiu.
Ara escrivim diversos programes de funció getchar() per acceptar caràcters únics en C i els imprimim mitjançant la funció putchar ().
Llegiu un sol caràcter mitjançant la funció getchar().
Considerem un programa per prendre-ne un únic utilitzant la funció getchar() a C.
Programa.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(); }
Sortida
Enter a character A You have passed A
Com podem veure al programa anterior, pren un sol caràcter en temps d'execució de l'usuari que utilitza la funció getchar(). Després d'obtenir el caràcter, imprimeix la lletra mitjançant la funció putchar().
Llegiu n caràcters de l'usuari mitjançant la funció getchar().
Considerem un programa per llegir n caràcters utilitzant la funció getchar() en 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; }
Sortida
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:
Com podem veure a la sortida anterior, un bucle while accepta contínuament un caràcter de l'usuari fins que l'usuari no passa el caràcter #. Aquí, la funció getchar() pren un sol caràcter de l'entrada estàndard i l'assigna a una variable ch. Mentre que la funció putchar() imprimeix el caràcter llegit.
Llegiu un sol caràcter mitjançant la funció scanf().
Considerem un programa per llegir un caràcter mitjançant la funció de biblioteca scanf() a C.
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; }
Sortida
Enter the character A You have entered A
Com podem veure, quan executem el programa anterior, es necessita un únic caràcter o grup de caràcters utilitzant la funció de biblioteca scanf() en lloc de la funció getchar(). Però hi ha una petita diferència; una funció scanf() pot prendre un sol o un grup de caràcters de l'usuari, mentre que la funció getchar() només pot acceptar el caràcter únic.
Aquí tornem a executar el programa anterior, i aquesta vegada, mostra els resultats següents.
Enter the character Apple You have entered A
Llegeix els personatges utilitzant un bucle do-while
Considerem un programa per llegir els caràcters amb la funció do while i getchar() a 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; }
Sortida
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
Al programa anterior, un bucle do-while accepta contínuament els caràcters fins que l'usuari passa el ENTRAR botó per sortir del bucle.