Можно ли отображать редактируемый текст в оболочке через стандартный C ++ IOStream? - PullRequest
1 голос
/ 19 апреля 2011

Можно ли отображать интерактивный и редактируемый текст в консоли через стандартный C ++ iostream?

Другими словами, возможно ли иметь базовые возможности редактирования текста в Vim-esque, используя только стандартный C ++ iostream внутри оболочки?

Например, предположим, что простая строка exampleText содержит текст «Пример текста». был отображен в окне оболочки с помощью кода:

std::string exampleText = "Example text.";
std::string editedText;
std::cout << exampleText;

Можно ли редактировать строку, хранящуюся в exampleText, пока она отображается в оболочке, а затем сохранить отредактированную версию этой строки в editedText?

У меня есть сомнения в том, что это возможно, но если бы кто-нибудь мог помочь прояснить, возможно ли это, я был бы очень признателен.

Заранее спасибо!

1 Ответ

2 голосов
/ 19 апреля 2011

Конечно, это возможно. Просто выведите правильный вывод терминала. Для каждого побега убедитесь, что вы прикрываете все популярные терминалы.

Или избавьте себя от проблем и используйте readline или ncurses.

...