Что такое getch
Перейти к содержимому

Что такое getch

getch

Функция getch нужна для чтения одного символа с клавиатуры, этот символ на экран не выводится. Чаще всего данная функция используется чтобы не дать консоли преждевременно закрыться. Эта функция ожидает пока пользователь введёт символ и лишь затем закрывает консоль.

Чтобы воспользоваться функцией getch, необходимо подключить заголовочный файл:

Следует отметить, что данная функция не является стандартной! Данная функция является альтернативной формой команды getchar. Главной отличительной чертой является то, что вызывая getchar, консоль ожидает подтверждения ввода нажатием Enter. В случае с getch выход происходит сразу же, как только нажата какая-то клавиша. Возвращается код этой клавиши.

Для примера рассмотрим код с этой функцией:

Getch – вводит символ с консоли

Запись была обновлена

Функция getch читает один символ, непосредственно с консоли, без вывода его на экран.

Возвращаемое значение

Функция getch возвращает введенный с клавиатуры символ.

Переносимость

Функция уникальна для DOS. Функция не совместима с Windows.

Пример

#include #include int main(void)

Как работает функция getch() в C/C++

В этой статье мы рассмотрим использование функции getch() в C/C++ .

Данная функция позволяет прочитать введенные с клавиатуры символы.

Она не является частью стандарта C, однако все же является функцией POSIX C. Следовательно, мы можем использовать эту функцию на Windows/Linux/Mac.

Давайте рассмотрим использование этой функции на нескольких примерах.

Базовый синтаксис getch() в C/C++

Эта функция принимает один символ из стандартного ввода (stdin) и возвращает целое число.

Она используется как часть заголовочного файла , поэтому вы должны включить его в свою программу.

#include int getch();

Эта функция не принимает никаких параметров.

Здесь функция getch() возвращает значение ASCII символа, считанного со стандартного ввода.

Например, если мы зададим символ 0 в качестве входных данных, она вернет значение ASCII для этого символа, что равно 49.

Таким образом, теперь мы можем напрямую преобразовывать символ в целое число в C/C++. А при приведении типов значение 49 будет преобразовано в значение char, равное 0.

Давайте теперь рассмотрим пару примеров.

Примеры использования getch() в C/C++

Начнем с простого примера: давайте сначала рассмотрим чтение одного символа.

#include #include int main()  char ch = getch(); printf("Received Input: %c\n", ch); return 0; >

Вы получите такой результат:

Received Input: a

Мы получили этот вывод после того, как набрали символ а на клавиатуре. Давайте теперь посмотрим на программу, которая принимает 5 символов с клавиатуры.

Обратите внимание, что getch() не отображает ввод с клавиатуры. Следовательно, когда вы вводите символы, курсор не будет отображать ввод.

Давайте отобразим полную строку только после того, как мы получим все 5 символов:

#include #include int main()  // Set op = = '
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >
#include #include int main()  // Set op = = '\0\0\0\0\0\0' string char op[6] = 0>; for (int i=0; i5; i++)   op[i] = getch(); > printf("Received 5 character Input: %s\n", op); return 0; >

' string char op [ 6 ] = < 0 >; for ( int i = 0 ; i < 5 ; i ++) < op [ i ] = getch (); >printf ( "Received 5 character Input: %s\n" , op ); return 0 ; >

Вывод будет таким:

Received 5 character Input: Hello

Как видите, набрав Hello, мы получили правильный вывод.

Обратите внимание, что в выходной строке задано 6 символов, так как нам нужно зарезервировать 1 байт для «\0». Потому op имеет значение «Hello\0».

Заключение

В этой статье вы узнали, как использовать функцию getch() в C/C++ для получения ввода символов с клавиатуры.

int getche(void)

Функция getch() возвращает очередной символ, считанный с консоли, но не выводит этот сим­вол на экран.

Функция getche() возвращает очередной символ, считанный с консоли, и выводит этот символ на экран.

Ни одна из этих функций не определена стандартом ANSI С.

В этом фрагменте getch ( ) используется для считывания выбора пользователя для программы про­верки орфографии.
do {
printf ( "1: Check spelling \n " ) ;
printf ( "2: Correct spelling \n " ) ;
printf ( "3: Look up a word in the dictionary \n " ) ;
printf ( "4: Quit \n " ) ;
printf ( " \n Enter your selection: " ) ;
choice = getch ( ) ;
} while ( ! strchr ( "1234" , choice ) ) ;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *