Вы всегда можете использовать kbhit , чтобы увидеть, есть ли какие-либо символы во входном буфере, готовом для чтения.
Если у вас нет доступа к kbhit
, здесьэто простая реализация, которую я использовал в прошлом:
int kbhit() {
int count = 0;
struct termios otty, ntty;
tcgetattr(STDIN_FILENO, &otty);
ntty = otty;
ntty.c_lflag &= ~ICANON;
if(tcsetattr(STDIN_FILENO, TCSANOW, &ntty) == 0) {
ioctl(STDIN_FILENO, FIONREAD, &count);
tcsetattr(STDIN_FILENO, TCSANOW, &otty);
}
return count;
}