Funkcja getch w c

Funkcja getch w c

W przypadku wielu programów zapisanych w języku programowania C musimy przejąć dane wejściowe od użytkownika. Wejście użytkownika to niektóre klawisze lub wartości, które wpisujemy z klawiatury. Jeśli musimy uzyskać wejście użytkownika z klawiatury jako znak, używamy funkcji getch (). Ta funkcja znajduje się w pliku nagłówka „Conio.H". GetCh () Metoda ma specjalność, aby zatrzymać konsolę, dopóki klawisz Enter zostanie naciśnięty, co oznacza, że ​​zwraca znak ASCII, gdy tylko zostanie naciśnięta z klawiatury, ponieważ nie ma bufora do przechowywania tego (ASCII). Zastosowania takich funkcji można znaleźć w systemie, w którym nie chcemy, aby system pokazywał typowy znak z klawiatury lub nadal wyświetlać dane wejściowe po naciśnięciu klawisza Enter, takiego jak użycie haseł i wkładu, które mają na myśli, że mają na myśli dane wejściowe być ukrytym jak szpilki dla kont ATM.

Procedura

Przyjrzymy się koncepcji funkcji getch (), która pochodzi z pliku nagłówka „conio. h ”w kompilator Microsoft Visual Studio dla języka programowania C. Omówimy składnię tej funkcji i spróbujemy wykonać niektóre przykłady za pomocą wyuczonej składni tej funkcji.

Składnia

Składnia metody getch () jest dość prosta. Wszystko, co musimy zrobić, to ogłosić typ danych dla tej funkcji, a następnie po prostu wywołać tę funkcję. Należy pamiętać, że ta funkcja nie akceptuje żadnych argumentów/parametrów wejściowych, które są zdefiniowane przez użytkownika.

$ int getch (void)

Przykład 1:

W tym przykładzie zaczynamy od podstawowego przykładu do wykonania programu w celu weryfikacji działania składni dla funkcji getch (). Ten program przyjmuje dane wejściowe od użytkownika w znaku ASCII i zwraca wartość ASCII przed naciśnięciem klawisza Enter. Zacznijmy ten przykład, najpierw utworzenie projektu w kompilatorze Visual Studio. Dodajemy plik źródłowy do tego projektu, abyśmy mogli dodać ten projekt do ścieżki plików katalogu C, zapisując projekt pod nazwą „.C". Następnie importujemy fundamentalne pliki nagłówka dla tego programu. Jak już wiemy, nasz program wykorzystuje funkcję, taką jak wyświetlanie danych wyjściowych, czyli printf (). A ponieważ przyjmujemy wprowadzanie znaków od użytkownika, używamy funkcji getCh (), aby uzyskać dostęp do tych funkcji w naszym programie. Zaimportuj następujące pliki nagłówka w następujący sposób:

$ # obejmują
$ # obejmują

Teraz, aby zaimplementować przykład w projekcie, deklarujemy funkcję o nazwie „Main” i „Int” jako typ zwrócenia tej funkcji. W tej głównej funkcji tworzymy metodę printf (). Podajemy specyfikator formatu jako „%c” w jego parametrach z funkcją getch () dla wejścia znaku znaku. Następnie zwracamy 0 po wyjściu z funkcji. To wyjaśnienie można ponownie napisać w formie kodu w następujący sposób:

#włączać
#włączać
int main ()

printf („Wprowadź wartość zdefiniowaną przez użytkownika: %c”, getch ());
powrót 0;

Kiedy wykonujemy wcześniej wspomniany kod w kompilatorze C, wyjście wyświetla okno, które prosi nas o podanie wejścia dla znaku z klawiatury. Naciskamy dowolny klawisz z klawiatury, a wyjście zwraca wartość ASCII dla tego klucza, a konsola pozostaje otwarta, dopóki nie naciśniemy klawisza Enter.

Przykład 2:

Omówiliśmy już, że funkcja getCh () nie używa żadnego bufora do przechowywania wartości i raczej natychmiast zwraca wartość w funkcji. Możemy użyć tego atrybutu funkcji i napisać program, który utrzymuje ekran wyjściowy lub konsolę, aż klawisz znaku zostanie wprowadzony jako wejście z klawiatury. Aby to zaimplementować, używamy tych samych funkcji, których użyliśmy w poprzednim przykładzie, ale metoda byłaby nieco inna. Wcześniej wykonaliśmy wywołanie funkcji metody getch () w argumentach metody printf (). W tym przykładzie nazywamy je osobno. Otwórz i stwórz projekt w kompilatorze Visual Studio C. Zaimportuj następujący dwa plik nagłówka w następujący sposób:

$ # obejmują
$ # obejmują

Następnie zadeklaruj główną funkcję za pomocą typu powrotu „Liczba całkowita”. Wywołaj metodę printf () w funkcji i wydrukuj zdanie „Wprowadź znak”. Następnie wywołaj metodę getch () i wyjdź z głównej funkcji po zwróceniu wartości 0.

#włączać
#włączać
int main ()

printf („Wprowadź dowolny klucz, jeśli chcesz wyjść z ekranu.\N");
getch ();
powrót 0;

W wyjściu ekran trzyma, aż naciśniemy dowolny klawisz z klawiatury.

Przykład 3:

Ten przykład pozwala nam opracować program, który przyjmuje ukryte hasło z definiowanego przez użytkownika dane wejściowe. W tym przykładzie importujemy następujące pliki nagłówka:

$ # obejmują
$ # obejmują
$ # obejmują
$ # obejmują

Następnie zadeklarujemy funkcję o nazwie „Main” i zwracamy typ „void”. Najpierw deklarujemy szereg rozmiaru 50 z typem danych „char” w głównej. Zainicjujemy tę tablicę, przyjmując wartość od użytkownika. Aby to zrobić, zainicjujemy zmienną z liczbą całkowitą typu danych. Następnie, używając tej zmiennej, uruchamiamy „dla pętli”, która ma przyrost +1 i wartość początkową 0. Chcemy, aby pętla pękła według wartości zmiennej mniejszej niż 10.

W tym „dla pętli” przypisujemy już zadeklarowaną funkcję getch (), aby przejąć ciąg wejściowy od użytkownika. Wychodząc z pętli, drukujemy wejście użytkownika w formie „*”. Aby wyświetlić to ukryte hasło, przypisujemy tablicę z wartością „Enter” jako „\ 0”. Następnie uruchom pętlę dla warunku, aby wyświetlić wprowadzone klawisze z klawiatury, aż ciąg wejściowy nie będzie równy klawiszowi Enter. Następnie drukujemy tę tablicę wejściową i ponownie wywołujemy funkcję getch () po wyjściu z pętli. To wyświetla ukryte hasło od użytkownika. Można to zrobić, pisząc i wykonując następujący program:

#włączać
#włączać
#włączać
#włączać
void main ()
Char Array [50];
int i;
printf („Wprowadź dowolne hasło:”);
dla (i = 0; i < 10; i++)
tablica [i] = getch ();
printf („*”);
array [i] = '\ 0';
printf („\ n”);
printf („ukryte hasło:”);
dla (i = 0; tablica [i] != '\ 0'; i ++) r
printf („%c”, tablica [i]);
getch ();

Wniosek

Ten artykuł obejmował podstawową koncepcję funkcji getch () w c. Podaje szczegółowe wyjaśnienie składni funkcji, a także pokazuje, w jaki sposób możemy napisać różne programy dla różnych przykładów za pomocą funkcji getch (). Mamy nadzieję, że ten artykuł pozwala wyczyścić swoje dwuznaczności dotyczące tego tematu.