In diesem Abschnitt lernen wir die Funktion getchar() in der Programmiersprache C kennen. A getchar() Funktion ist eine nicht standardisiert Funktion, deren Bedeutung bereits in der definiert ist stdin.h Header-Datei, um eine einzelne Eingabe vom Benutzer zu akzeptieren. Mit anderen Worten: Es ist die C-Bibliotheksfunktion, die ein einzelnes Zeichen (unsigned char) von der stdin erhält. Die Funktion getchar() ähnelt jedoch der Funktion getc(), es gibt jedoch einen kleinen Unterschied zwischen der Funktion getchar() und der Funktion getc() C-Programmiersprache . Ein getchar() liest ein einzelnes Zeichen aus der Standardeingabe, während ein getc() ein einzelnes Zeichen aus einem beliebigen Eingabestream liest.
Syntax
int getchar (void);
Es hat keine Parameter. Es gibt jedoch die gelesenen Zeichen als vorzeichenloses Zeichen in einem Int zurück, und wenn in einer Datei ein Fehler auftritt, wird das zurückgegeben EOF am Ende der Datei.
Jetzt schreiben wir mehrere getchar()-Funktionsprogramme, um einzelne Zeichen in C zu akzeptieren und sie mit der putchar()-Funktion auszugeben.
Lesen Sie ein einzelnes Zeichen mit der Funktion getchar()
Betrachten wir ein Programm, das mithilfe der Funktion getchar() in C eine Single annimmt.
Programm.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(); }
Ausgabe
String dazu
Enter a character A You have passed A
Wie wir im obigen Programm sehen können, übernimmt es zur Laufzeit ein einzelnes Zeichen vom Benutzer, der die Funktion getchar() verwendet. Nachdem das Zeichen abgerufen wurde, wird der Buchstabe über die Funktion putchar() gedruckt.
Lesen Sie n Zeichen vom Benutzer mit der Funktion getchar()
Betrachten wir ein Programm zum Lesen von n Zeichen mithilfe der Funktion getchar() in 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; }
Ausgabe
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:
Wie wir in der obigen Ausgabe sehen können, akzeptiert eine While-Schleife kontinuierlich ein Zeichen vom Benutzer, bis der Benutzer das #-Zeichen nicht mehr übergibt. Hier entnimmt die Funktion getchar() ein einzelnes Zeichen aus der Standardeingabe und weist es einer ch-Variablen zu. Während die Funktion putchar() das gelesene Zeichen ausgibt.
Lesen Sie ein einzelnes Zeichen mit der Funktion scanf()
Betrachten wir ein Programm zum Lesen eines Zeichens mithilfe der Bibliotheksfunktion scanf() in 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; }
Ausgabe
Enter the character A You have entered A
Wie wir sehen können, nimmt es beim Ausführen des obigen Programms ein einzelnes Zeichen oder eine Gruppe von Zeichen mithilfe der Bibliotheksfunktion scanf() anstelle der Funktion getchar() entgegen. Aber es gibt einen kleinen Unterschied; Eine scanf()-Funktion kann ein einzelnes Zeichen oder eine Gruppe von Zeichen vom Benutzer annehmen, während die getchar()-Funktion nur das einzelne Zeichen akzeptieren kann.
Hier führen wir das obige Programm erneut aus und dieses Mal werden die folgenden Ergebnisse angezeigt.
Enter the character Apple You have entered A
Lesen Sie die Zeichen mithilfe einer Do-While-Schleife
Betrachten wir ein Programm zum Lesen der Zeichen mithilfe der Funktionen do while und getchar() in 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; }
Ausgabe
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
Im obigen Programm akzeptiert eine do-while-Schleife kontinuierlich die Zeichen, bis der Benutzer das übergibt EINGEBEN Klicken Sie auf die Schaltfläche, um die Schleife zu verlassen.