Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518

Редактор строки в консоли

04.01.2015, 10:13. Показов 2157. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поделитесь ссылками/примерами пожалуйста!

Надо в консоли (WIN/DOS) вывести строку с курсором и полноценно ее править. Стрелками двигать курсор. Вставлять раздвигая, добавлять, ограничение размера, режим замены... и многое другое!

Лет 15 назад подобное плодил пачками на турбо-паскале (исходники давно утеряны за ненадобностью). Теперь надо повторить на С++. Но 1) я его еще плохо знаю 2) запутался с getch и символами которые можно выводить, а какие нельзя(подзабыл эту теорию). Особенно русcкие клавиши не работают...

Может у кого остались исходники тех годов? Или ссылки на подобные примеры? Не охота изобретать велосипед! Проще сначала изучить готовые аналогичные исходники...

Оказалось что в getch куча нюансов - некоторые клавиши дают двойные коды (стрелки). И это я еще не добрался до ctr+shift+alt.

Нашел пока только такое: getch()
Но мне нужно больше! Мне нужны полноценные редакторы строк как Far, VC, NC...

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2015, 10:13
Ответы с готовыми решениями:

Простейший текстовый редактор в консоли
Добрый день. Нужно написать простейший текстовый редактор, чтобы можно было открывать файл с текстом, сохранять текст в файл и...

Ввод строки с консоли
Всем привет, такой вопрос. Нашел годный пример. Как реализовать ввод строки "5*3-9/3" вручную с консоли? Заранее благодарен....

Ввод строки с консоли
Приветствую! Как реализовать ввод строки с консоли? В данный момент задать строку можно из кода программы. Конкретнее: string...

6
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
04.01.2015, 12:06
стандартным С++ тут не обойтись.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
04.01.2015, 13:42  [ТС]
Цитата Сообщение от Мотороллер Посмотреть сообщение
стандартным С++ тут не обойтись.
ПОЧЕМУ????

Я же писал (когда-то) подобное на чистом турбо-паскале!!! Много раз! Утерял вместе с винчестером... Хоть в паскалевские хелпы снова лезь... Ведь линукс до сих пор с консолью очень дружит. Как там подобные "запросы" от пользователей делают??? В паскале был кажется турбо-вижн. Но он сдох вместе с паскалем при переходе на делфи. В с++ должно было что-то подобное остаться!!!

Просто помню там какие-то нюансы были для отделения стрелок от букв!
Например нашел статье что перед каждой стрелкой идет пре-код с кодом 224 (224+71). Но это-же и код кнопки "а" в русской раскладке! Самое обидное что класическое std::getline нормально это обрабатывает, но не дает вмешаться своими ограничителями (длина, блокировка определенных символов).
0
1406 / 648 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
04.01.2015, 13:47
Цитата Сообщение от Tester64 Посмотреть сообщение
ПОЧЕМУ????
Потому что тот же getch не из стандартной библиотеки - он находится в conio.h
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
04.01.2015, 15:30
Tester64, потому что дос - это дос. там одна программа, одна консоль - делай все что хочешь. Windows (или другая современная ось) же - это многозадачная, и тут делать все что пожелается нельзя. используйте средства WinAPI и будет вам счастье. однако С++ лишь средство для доступа к функция оси, а не инструмент разработки консольного редактора
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
04.01.2015, 16:09
Возможно подойдет библиотека: http://pdcurses.sourceforge.net/
Сам не пользовался.
1
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
04.01.2015, 16:17
Цитата Сообщение от Tester64 Посмотреть сообщение
Ведь линукс до сих пор с консолью очень дружит. Как там подобные "запросы" от пользователей делают???
Почитай про канонический и неканонический режимы работы. Посмотри примерчик, поиграйся: http://www.gnu.org/software/li... ample.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.01.2015, 16:17
Помогаю со студенческими работами здесь

Очистка строки в консоли
Привет) Проблемка: Мне нужно очищать не экран а одну строку, например при создании "мигающей" строки, как в этой теме -...

Ввод строки с консоли
Как ввести строку "text" ( char s = "text"; ) с консоли? #include<stdio.h> #include<string.h> void Del(char *s) { ...

Перебор строки в консоли
Здравствуйте. Суть проблемы: Требуется написать эмулятор командной строки Linux, т.е. набор команд с ключами (напр. ls -1 D:\) ...

Вывод разноцветной строки в консоли
Подскажите пожалуйста можно ли в консоли разукрасить одну строку разными цветами? Обычно я использую system("color"), но...

Позиция начала строки в консоли...
Вопрос такой, как сделать нестандартную позицию начала строки... Тоесть у меня есть приложение где слева навигация а справа содержание...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru