In deze sectie leren we de functie getchar() in de programmeertaal C. A haalchar() functie is een niet standaard functie waarvan de betekenis al is gedefinieerd in de stdin.h header-bestand om een enkele invoer van de gebruiker te accepteren. Met andere woorden, het is de C-bibliotheekfunctie die één enkel teken (niet-ondertekende char) uit de stdin haalt. De functie getchar() is echter vergelijkbaar met de functie getc(), maar er is een klein verschil tussen de functie getchar() en getc() van de C-programmeertaal . Een getchar() leest een enkel teken uit standaardinvoer, terwijl een getc() een enkel teken uit elke invoerstroom leest.
Syntaxis
int getchar (void);
Er zijn geen parameters. Het retourneert de gelezen tekens echter als een niet-ondertekende char in een int, en als er een fout in een bestand zit, retourneert het de EOF aan het einde van het bestand.
Nu schrijven we verschillende getchar()-functieprogramma's om afzonderlijke tekens in C te accepteren en deze af te drukken met behulp van de putchar()-functie.
Lees een enkel teken met behulp van de getchar() functie
Laten we een programma overwegen om er één te maken met behulp van de getchar() functie in C.
Programma.c
Java-array gesorteerd
#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(); }
Uitvoer
Enter a character A You have passed A
Zoals we in het bovenstaande programma kunnen zien, is er tijdens de uitvoering één teken nodig van de gebruiker die de functie getchar() gebruikt. Nadat het teken is opgehaald, wordt de letter afgedrukt via de functie putchar().
Lees n tekens van de gebruiker met behulp van de functie getchar().
Laten we een programma bekijken dat n tekens leest met behulp van de getchar() functie 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; }
Uitvoer
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:
Zoals we in de bovenstaande uitvoer kunnen zien, accepteert een while-lus continu een teken van de gebruiker totdat de gebruiker het #-teken niet doorgeeft. Hier neemt de functie getchar() een enkel teken uit de standaardinvoer en wijst deze toe aan een ch-variabele. Terwijl de functie putchar() het leesteken afdrukt.
Lees een enkel teken met behulp van de scanf() functie
Laten we een programma bekijken dat een teken leest met behulp van de bibliotheekfunctie scanf() in C.
Prog.c
regex-java
#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; }
Uitvoer
Java-switch int
Enter the character A You have entered A
Zoals we kunnen zien, is er bij het uitvoeren van het bovenstaande programma één enkel teken of een groep tekens nodig met behulp van de bibliotheekfunctie scanf() in plaats van de functie getchar(). Maar er is een klein verschil; een scanf()-functie kan een enkel teken of een groep tekens van de gebruiker overnemen, terwijl de getchar()-functie slechts één teken kan accepteren.
Hier voeren we opnieuw het bovenstaande programma uit, en deze keer worden de onderstaande resultaten weergegeven.
Enter the character Apple You have entered A
Lees de karakters met behulp van een do-while-lus
Laten we een programma overwegen om de tekens te lezen met behulp van de functies do while en 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; }
Uitvoer
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
In het bovenstaande programma accepteert een do-while-lus continu de tekens totdat de gebruiker de BINNENKOMEN knop om de lus te verlaten.