logo

Funkcja Getchar() w C

W tej sekcji nauczymy się funkcji getchar() w języku programowania C. A getchar() funkcja to a niestandardowe funkcja, której znaczenie jest już zdefiniowane w pliku stdin.h plik nagłówkowy, aby zaakceptować pojedyncze wejście od użytkownika. Innymi słowy, jest to funkcja biblioteki C, która pobiera pojedynczy znak (unsigned char) ze standardowego wejścia. Jednakże funkcja getchar() jest podobna do funkcji getc(), ale istnieje niewielka różnica pomiędzy funkcjami getchar() i getc() Język programowania C . Funkcja getchar() odczytuje pojedynczy znak ze standardowego wejścia, podczas gdy funkcja getc() odczytuje pojedynczy znak z dowolnego strumienia wejściowego.

Funkcja Getchar() w C

Składnia

Java generuje liczbę losową
 int getchar (void); 

Nie posiada żadnych parametrów. Jednakże zwraca przeczytane znaki jako znak bez znaku w int, a jeśli wystąpi błąd w pliku, zwraca EOF na końcu pliku.

Teraz napiszemy kilka programów funkcyjnych getchar(), aby akceptować pojedyncze znaki w C i drukować je za pomocą funkcji putchar ().

Przeczytaj pojedynczy znak za pomocą funkcji getchar().

Rozważmy program pobierający pojedynczy plik za pomocą funkcji getchar() w 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(); } 

Wyjście

 Enter a character A You have passed A 

Jak widać w powyższym programie, w czasie wykonywania pobiera on od użytkownika pojedynczy znak za pomocą funkcji getchar(). Po pobraniu znaku wypisuje go za pomocą funkcji putchar().

Odczytaj n znaków od użytkownika za pomocą funkcji getchar().

Rozważmy program odczytujący n znaków przy użyciu funkcji getchar() w 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; } 

Wyjście

 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: 

Jak widać na powyższym wyjściu, pętla while w sposób ciągły przyjmuje znak od użytkownika, dopóki użytkownik nie przekaże znaku #. Tutaj funkcja getchar() pobiera pojedynczy znak ze standardowego wejścia i przypisuje go do zmiennej ch. Natomiast funkcja putchar() wypisuje przeczytany znak.

Przeczytaj pojedynczy znak za pomocą funkcji scanf().

Rozważmy program odczytujący znak przy użyciu funkcji bibliotecznej scanf() w C.

Prog.c

scan.next 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; } 

Wyjście

 Enter the character A You have entered A 

Jak widzimy, gdy wykonujemy powyższy program, pobiera on pojedynczy znak lub grupę znaków przy użyciu funkcji bibliotecznej scanf() zamiast funkcji getchar(). Ale jest mała różnica; funkcja scanf() może pobrać od użytkownika pojedynczy znak lub grupę znaków, podczas gdy funkcja getchar() może przyjąć tylko pojedynczy znak.

Tutaj ponownie wykonujemy powyższy program i tym razem pokazuje poniższe wyniki.

 Enter the character Apple You have entered A 

Przeczytaj znaki za pomocą pętli do-while

Rozważmy program do odczytywania znaków za pomocą funkcji do while i getchar() w 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; } 

Wyjście

 Enter the characters from the keyboard (Press Enter button to stop). Well b47gvb come Entered characters are Well b47gvb come 

W powyższym programie pętla do while w sposób ciągły akceptuje znaki, dopóki użytkownik nie przejdzie WCHODZIĆ przycisk, aby wyjść z pętli.