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

На данный момент я делаю программу с разными экранами, которые используют клавишу выхода для выхода, но что произойдет, если я нажму клавишу выхода, скажем, в меню параметров. А то я захожу в игру, которую игра позволяет выйти на выход, она автоматически выходит из игры. Если это имеет смысл. :), но похоже, что клавиша 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;
}

person Ryan12345    schedule 04.05.2015    source источник


Ответы (1)


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

fflush(stdin);

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

person Ashish Acharya    schedule 04.05.2015
comment
Переменная может сохраняться из какой-то другой части кода. Как вы используете ключ, который вы возвращаете из функции? Кроме того, попробуйте сохранить ввод в указателе символа. Надеюсь это поможет. - person Ashish Acharya; 04.05.2015