С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/141: Рейтинг темы: голосов - 141, средняя оценка - 4.87
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38

Замена getch()

24.06.2011, 15:14. Показов 27281. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Решил повысить переносимость своего кода и задался вопросом: на что заменить getch? Насколько я понимаю, эта функция откажется работать в юникс-системах и тп.
Хочу добиться эффекта ожидания нажатия любой клавиши. Получение кода клавиши не обязательно. Подчеркну, что функция должна быть в стандарте плюсов и платформонезависимой.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.06.2011, 15:14
Ответы с готовыми решениями:

Аналог getch или русские буквы в getch
Здравствуйте, уважаемые господа. Существуют ли какие-нибудь аналоги getch () и _getch, которые не требуют ввода какого-либо другого...

getch
Недавно начал изучать си++. Что-то написал, не знаю по какой причине не компилирует. Прошу помочь. Думаю проблема где-то в 12 строке. ...

getch()
с помощью функции getch() узнал код клавиш... int n; n = getch(); cout << n;

27
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.06.2011, 16:05
C++
1
getchar();
0
 Аватар для pito211
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
24.06.2011, 16:09
а system("pause"); чё там не работает?

Добавлено через 1 минуту
ты кстати не первый кто задался таким вопросом
http://www.google.ru/search?sc... &aql=f&oq=
0
ниначмуроФ
 Аватар для PointsEqual
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
24.06.2011, 16:11
C++
1
std::cin.get();
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 16:13  [ТС]
Люди, оч смешно. я сказал же, нажатие ЛЮБОЙ клавиши. а оба ваши варианта работают до нажатия ентера. так-то и я могу. )
0
 Аватар для pito211
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
24.06.2011, 16:17
на первой же ссылке очень подробно обсуждается как обойти "эффект ожидания ентера", поиском научись пользоваться, думаешь ты первый кто задал этот вопрос?
http://forum.shelek.ru/index.php/topic,9792.0.html
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 16:36  [ТС]
Я посмотрел твою ссылку на какой-то там форум... <curses.h> не входит в стандарт плюсов, вот что плохо.
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,452
Записей в блоге: 2
24.06.2011, 16:36
http://forum.shelek.ru/index.p... #msg139308
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 16:40  [ТС]
Не пойму, вы даете одну и ту же ссылку. Говорю еще раз, я хочу, чтоб прога соответствовала стандарту плюсов! А юникс\линукс - не самоцель!
0
 Аватар для pito211
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
24.06.2011, 16:46
ну видимо нету того чего ты хочешь в "стандарте плюсов". Тогда ncurses надо использовать
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 16:57  [ТС]
Ну нет, значит нет. Значит - забьем.
Получается, если захочется писать действительно стандартный код, работающий и там, и там, придется юзать функцию system, но позаботиться обособлением ее директивами проверки системосовместимости.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
24.06.2011, 17:30
Цитата Сообщение от pito211 Посмотреть сообщение
а system("pause"); чё там не работает?
system-то работает, а вот pause нету...
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 17:35  [ТС]
Совсем нету? без всяких аналогов?

а то предлагал написать типа:
C++
1
2
3
4
5
6
#ifdef _WINDOWS
system("pause");
#endif
#ifdef <чо то там для юниксов>
system(<специфичное для юникса>);
#endif
за точность кода не ручаюсь, но смысл понятен.
Там действительно ничего, что могло бы быть во втором вызове?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
24.06.2011, 17:38
https://www.cyberforum.ru/cpp-... 39606.html - вроде есть несколько решений
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 17:51  [ТС]
Посмотрел. Все то же самое. Файлы заголовков не из стандарта, единственный недостаток. А я хотел бы пользоваться исключительно стандартом.
К какой мысли веду: может быть можно как-то добиться этого эффекта коммандами самого терминала? тогда их можно было бы завалять в system и наслаждаться жизнью... (ну, в смысле как в коде выше).

Пс. Рвение пользоваться стандартом - исключительно муки совести, но она (совесть) вполне позволяет такое использование system'а. )
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
24.06.2011, 18:00
У Шилдта в "Полный справочник по С++" мельком упомянуто, что getchar() можено переключить в интерактивный режим (т.е. сделать из него аналог getch()), но как это сделать - не написанно( Тоже хотел бы узнать как это реализовать.
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 18:04  [ТС]
Вопрос не по теме: Сегодня второй раз слышу про Шильда, раньше не слышал ни разу. Как я понял, это неплохой справочник по плюсам... Можно краткое сравнение его и Страуструпа?
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,452
Записей в блоге: 2
24.06.2011, 18:05
Цитата Сообщение от Kastaneda Посмотреть сообщение
У Шилдта в "Полный справочник по С++" мельком упомянуто, что getchar() можено переключить в интерактивный режим (т.е. сделать из него аналог getch()), но как это сделать - не написанно( Тоже хотел бы узнать как это реализовать.
кхм.. тут была два раза ссылка на ответ на ваш вопрос.
0
 Аватар для cgsg11
13 / 13 / 2
Регистрация: 09.03.2011
Сообщений: 38
24.06.2011, 18:08  [ТС]
voral, не могли бы процитировать? во всех этих ссылках, мне кажется, были уже указанные мной раз три недостатки. Но, мб, я не заметил чего?
0
3012 / 1446 / 262
Регистрация: 16.03.2008
Сообщений: 6,452
Записей в блоге: 2
24.06.2011, 18:15
Цитата Сообщение от cgsg11 Посмотреть сообщение
voral, не могли бы процитировать? во всех этих ссылках, мне кажется, были уже указанные мной раз три недостатки. Но, мб, я не заметил чего?
http://forum.shelek.ru/index.p... #msg139308
Или я не понимаю, что вы хотите?

Добавлено через 3 минуты
упс... не осознал, что это вы уже попросили. я ответил Kastaneda
в ответ на ваши желания по поводу кросплатформенности и стандартности я думаю следующее:
- тащить в стандарт свйойства определенной системы не совсем логично, тогда придется тот же MFC втянуть .


0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2011, 18:15
Помогаю со студенческими работами здесь

getch
что озночает ввод синволов с помощю getch без буферизации

getch()
Здравствуйте, форумчане! написал программу, которая должна переводить миллион символов 16-го кода в двоичный, но столкнулся с...

getch
Проблема в том что компилятор выдаёт следующую ошибку, при компиляции: Серьезность Код Описание Проект Файл Строка Состояние...

Не работает getch()
не работает задержка по getchar() #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;time.h&gt; #include &lt;cstdio&gt; #include...

getch(), char *name;
Привет всем, у меня опять вопрос, задается тип данных например char name; это понятно но для чего там ставится знак * char* name; И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru