|
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
|
|
Замена getch()24.06.2011, 15:14. Показов 28105. Ответов 27
Метки нет (Все метки)
Здравствуйте. Решил повысить переносимость своего кода и задался вопросом: на что заменить getch? Насколько я понимаю, эта функция откажется работать в юникс-системах и тп.
Хочу добиться эффекта ожидания нажатия любой клавиши. Получение кода клавиши не обязательно. Подчеркну, что функция должна быть в стандарте плюсов и платформонезависимой.
0
|
|
| 24.06.2011, 15:14 | |
|
Ответы с готовыми решениями:
27
Аналог getch или русские буквы в getch getch getch() |
|
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
|
|
| 24.06.2011, 18:29 [ТС] | |
|
=) ну в каком-то смысле да. ток, секундочку... при чем тут MFC? насколько я помню, это виндовская dll, которая что-то там мутит не совсем понимаю где и мешает запускать код на машинах без нужной ее версии. ))))) разве в ней есть необходимость, если мы тот же код просто прокомпилим gcc? имхо нет!
Добавлено через 7 минут Подведу некую черту: 1) мы поняли, что написать полностью кроссплаформенный код тут нельзя. 2) существует стандартная функция system(), которая позволяет, вроде бы, прописать туда скрипты терминала. Это привязывает нас к системе, но не вылезает за СВЯЩЕННЫЙ СТАНДАРТ ПЛЮСОВ. ) Посему, предположив, что подавляющее большинство компиляторов поддерживает директивы типа #ifdef и _WINDOWS/_UNIX или что-то в этом роде, мы можем написать код, учитывающий это, и просто в юниксовой версии написать скрипты терминала. Так что ставлю на поветку вопрос: Можно ли достичь ожидания нажатия любой клавиши терминальными скриптами?
0
|
|
| 24.06.2011, 18:39 | ||
|
Хотел сказать винапи
.Нет ну как же. Смотрите. Хотим напечатать в консоли хеллоу в позиции 3,5. В винде это к винапи, в линуксе это к ncurses...... Можно, конешно, придумать одну стандартную функцию. В недрах которой будет все та же проверка - "компилируем в винде или в никсе?". Но зачем? Таких ведь вещей не так мало. Добавлено через 5 минут ![]() Вообще в линуксе оболочек много. И привязываться к какому-то скрипту, имхо, не правильно. Все равно придется использовать условную компиляцию. Так просто сдеайте как по ссылке предложено. И будет ваша программа вполне кроссплатформенна.
0
|
||
|
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
|
|
| 24.06.2011, 18:45 [ТС] | |
|
Ну так-то оно так... но лично я, например, писание по экранным координатам делал только в восьмом классе, когда консольная графика еще приносила фан. Тут дело другое. ждать нажатия клавиши - это желание возникает вне зависимости от системы. могу придумать сотню простых приложений, даже отладчиков, где это существенно упростит процесс. а желание оставаться в стандарте - желание сакрального рода. )
Добавлено через 3 минуты Ладно, будем считать, что действительно, написать адекватный код, соответствующий необходимым требованиям невозможно. Самое реальное а) не использовать б) писать свой вариант с изменениями. Ну, значит, тему, наверное, можно прикрывать. )
0
|
|
|
|
|||
| 24.06.2011, 18:51 | |||
|
Добавлено через 3 минуты
0
|
|||
|
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
|
|
| 24.06.2011, 18:52 [ТС] | |
|
Ну дык! )
0
|
|
| 24.06.2011, 19:04 | |
|
Хорошо. windows, linux, BSD, UNIX, Symbian, Android..... завтра Вася еще одну напишет ОС. Для всех все тащить в стандарт? А потом три часа ждать статической компиляции хелло ворд?
Потому как компилятор будет разгребать 100500 условий?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 25.06.2011, 06:00 | ||
|
0
|
||
| 25.06.2011, 06:00 | |
|
getch getch()
Не работает getch() getch(), char *name; Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|