anonymous
написал 11 января 2005 года в 15:58 (846 просмотров)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
Tovarishi! У меня вот какая проблема. Нужно написть прогу на С под Юникс — ждеш 10 сек., если была нажата хоть какая-то клавиша — то выводиш »…….. » если нет — то выводиш «…….». Вроде элементарная. Но тут такая проблема — я не нашол ни одной функции для ввода, которая не требова нажатия клавиши (пробовал почти всё — getchar, fgets, gets, getch … i t.d)Ничего не подходит — так как все требуют нажатияб иначи цикл не идёт дальше. Под винду написал(там есть функция KBhit, в библиотеке conio.h, которой нет под Юникс). Идей 0….А написать надо срочно.
Заранее Big Tnx аnd Respect
P.S. Forum posmotrel.
// Тему переместил(а) Dmitry Shurupov из форума «Общий по UNIX и open-source».
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
http://www.boutell.com/lsm/lsmbyid.cgi/001097
А про сигналы забыли? Вот один примитивненький набросок. Не тестирован…
Удачи
— sas
Зачем с сигналами-то морочиться? Просто select с таймаутом:
Кроме того, можно поиграть с termios.
Если Вы посмотрите на мой набросок, то заметите, что я сознательно не использовал таймаут (последний else). Дело в том, что он изменяется в Linux, и не меняется на многих других системах. Т.е. усложняется логика по подсчету времени, если надо всегда ждать 10 секунд, независимо от того, нажимаются клавиши или нет.
Хорошая идея :)
Всем большое спасибо.