kbhit
говорит вам, есть ли персонаж, ожидающий. getch
вернет следующий символ, ожидая одного, если это необходимо. Единственная естественная комбинация из двух, о которой я могу подумать, это та, которая вернет символ, если он есть, но не будет ждать, если символа нет Это легко сделать, если у вас уже есть kbhit
и getch
:
/* Returns a character from stdin, if there is one.
* Otherwise, returns -1. */
int getch_nonblocking(void)
{
return kbhit() ? getch() : -1;
}