@Warinator

Как сделать, чтобы ожидание нажатия клавиши происходило параллельно с обновлением данных?

Мне нужно реализовать простейший эмулятор чата. Для этого требуется в цикле обновлять буфер сообщений и при наличии нового вывести его на экран. При этом нужно иметь возможность самому ввести сообщение и занести его в буфер, а также возможность выйти из цикла, например, при нажатии Esc.
Принцип должен быть примерно такой:
while(1)
{
      //если есть новое сообщение, вывести его на экран
     //если пользователь вводит сообщение (или нажимает Esc), обработать это действие
     //иначе, перейти к след. итерации
}

Варианты вроде getch(), scanf() останавливают цикл, вне зависимости от того, желает ли пользователь ввести что-либо. Подскажите, как решить эту проблему.
  • Вопрос задан
  • 734 просмотра
Решения вопроса 1
@Warinator Автор вопроса
Всё, что мне нужно было - это функция kbhit().
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Multi-threading вас спасет.
Тут надо еще кончено смотреть на то, чем вы GUI рисуете, может можно как то в нем реализовать.
Ответ написан
Комментировать
tlito
@tlito
drupal, c++, seo
то есть вам нужно запустить параллельный процесс в фоновом режиме, который отлавливает нажатия клавиши и вызывает функцию при нажатии esc ?
я не пробовал но нашел OpenMP https://software.intel.com/ru-ru/blogs/2011/11/21/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Синтелс Москва
от 150 000 ₽
Radiofid Санкт-Петербург
от 80 000 до 110 000 ₽
.White Code Санкт-Петербург
от 420 000 до 480 000 ₽
17 мая 2022, в 07:15
5000 руб./за проект
17 мая 2022, в 07:09
350000 руб./за проект
17 мая 2022, в 06:36
15000 руб./за проект