Написание моей собственной версии kbhit с использованием < ncurses.h > для Linux

oahz спросил: 07 октября 2018 в 01:28 в: c++
bool kbhit(void)
{
   // function without the 4 lines of code below will not work
   // but they also screw up the console
   initscr();             
   cbreak();
   noecho();
   nodelay(stdscr, TRUE);    scrollok(stdscr, TRUE);
    int ch = getch();
    if (ch != ERR) {
        ungetch(ch);
        refresh();
        return true;
    } else {
        refresh();
        return false;
    }
}

Так как у ncurses нет kbhit, я обнаружил функцию выше. Но они испортили консоль. Вот что происходит, когда я пытаюсь напечатать следующее: См. Изображение

0 ответов