C++ Очистить входной буфер

На данный момент я делаю программу с разными экранами, которая использует клавишу выхода для выхода, но что происходит, если я нажимаю escape в, скажем, меню опций. И затем я вхожу в игру, в которую игра позволяет выйти, чтобы выйти, она автоматически выйдет из игры. Если это имеет смысл.:), но, похоже, клавиша escape плавает во входном буфере, и я пробовал много способов очистить его, но не могу найти способ. Вот часть моего кода.

int Controls()
{
    // Allows us to get a key when pressed
    int Key;
    Key = _getch();

    switch(Key)
    {
    // Number 27
    case KEY_ESCAPE:
        do code...
        break;

    }
    return Key;
}

1 ответ

Попробуйте сделать

fflush(stdin);

всякий раз, когда вы переходите на любую новую страницу. Это очищает входной поток.

Другие вопросы по тегам