LINUX.ORG.RU

получение ввода с клавиатуры


0

0

Подскажите пожалуйста с такой проблемой! Надо получить на С ввод одного символа с клавиатуры, таким образом чтобы это срабатывало без ожидания нажатия Enter'а. Функции getchar, getc, fgetc ждут enter'а. Под Форточки есть функция kbhit в conio.h. Какие функции, анологичные ей, есть в Лине и в какой библиотеке они лежат!

Зараннее благодарен......

anonymous

можно конечно использовать ncurses, там есть getch, oна не ждет, но лычше полыться в его исходниках и найти как он делает это.

anonymous
()
Ответ на: комментарий от anonymous

Посмотри маны по функам tcgetattr и tcsetattr.

Попробуй использовать нечто типа такого:

void setkeypress() {
    ..................................

    new.c_lflag &= (~ICANON);
    new.c_cc[VTIME] = 0;
    new.c_cc[VMIN] = 1;

    tcsetattr(0,TCSANOW,&new);
}

После этого попробуй getc и еще select/poll на stdin.

Удач.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.