I det här avsnittet kommer vi att lära oss funktionen getchar() i programmeringsspråket C. A getchar() funktionen är en icke-standard funktion vars innebörd redan är definierad i stdin.h header-fil för att acceptera en enskild input från användaren. Med andra ord är det C-biblioteksfunktionen som får ett enda tecken (osignerat tecken) från stdin. Men getchar()-funktionen liknar getc()-funktionen, men det finns en liten skillnad mellan getchar()- och getc()-funktionen för C programmeringsspråk . En getchar() läser ett enstaka tecken från standardinmatning, medan en getc() läser ett enstaka tecken från vilken indataström som helst.
Syntax
int getchar (void);
Den har inga parametrar. Den returnerar dock de lästa tecknen som ett osignerat tecken i en int, och om det finns ett fel på en fil, returnerar den EOF i slutet av filen.
Nu skriver vi flera getchar()-funktionsprogram för att acceptera enstaka tecken i C och skriva ut dem med putchar ()-funktionen.
mb vs gb
Läs ett enstaka tecken med funktionen getchar().
Låt oss överväga ett program för att ta en singel med funktionen getchar() i C.
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(); }
Produktion
Enter a character A You have passed A
Som vi kan se i programmet ovan tar det ett enda tecken vid körningstiden från användaren som använder getchar()-funktionen. Efter att ha fått tecknet skriver den ut bokstaven genom putchar()-funktionen.
Läs n tecken från användaren med getchar()-funktionen
Låt oss överväga ett program för att läsa n tecken med funktionen getchar() i 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; }
Produktion
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:
Som vi kan se i ovanstående utdata, accepterar en while loop kontinuerligt ett tecken från användaren tills användaren inte passerar #-tecknet. Här tar funktionen getchar() ett enda tecken från standardinmatningen och tilldelar dem till en ch-variabel. Medan putchar()-funktionen skriver ut det lästa tecknet.
Läs ett enstaka tecken med scanf()-funktionen
Låt oss överväga ett program för att läsa ett tecken med hjälp av biblioteksfunktionen scanf() i C.
Prog.c
java filterström
#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; }
Produktion
Enter the character A You have entered A
Som vi kan se, när vi kör ovanstående program, tar det ett enda tecken eller en grupp av tecken med hjälp av biblioteksfunktionen scanf() istället för getchar()-funktionen. Men det är en liten skillnad; en scanf()-funktion kan ta en enda eller grupp av tecken från användaren, medan getchar()-funktionen bara kan acceptera det enstaka tecknet.
Här kör vi återigen ovanstående program, och den här gången visar det nedanstående resultat.
Enter the character Apple You have entered A
Läs karaktärerna med hjälp av en do-while loop
Låt oss överväga ett program för att läsa tecknen med funktionen do while och getchar() i 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; }
Produktion
Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come
I programmet ovan accepterar en do-while loop kontinuerligt tecknen tills användaren passerar STIGA PÅ knappen för att lämna slingan.
java listor