【问题标题】:Is it Possible to Display Editable Text In A Shell Via The Standard C++ IOStream?是否可以通过标准 C++ IOStream 在 Shell 中显示可编辑文本?
【发布时间】:2011-04-19 00:59:50
【问题描述】:

是否可以通过标准 C++ iostream 在控制台中显示 interactive 和 editable 文本?

换句话说,是否有可能在 shell 中仅使用标准 C++ iostream 来拥有基本的 Vim 式文本编辑能力?

例如,假设一个简单的字符串exampleText 包含文本“示例文本”。使用代码在shell窗口中显示:

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

是否可以在 exampleText 中显示的字符串在 shell 中显示时对其进行编辑,然后将该字符串的编辑版本保存到 editedText 中?

我怀疑这是否可行,但如果有人能帮助澄清这是否可行,我将不胜感激。

提前致谢!

【问题讨论】:

  • 您使用的是什么操作系统?这很重要。

标签: c++ shell console text-editor iostream


【解决方案1】:

当然可以。只需输出正确的终端转义即可。对于每次逃生,请确保您覆盖所有流行的终端。

或者省去麻烦,使用 readline 或 ncurses。

【讨论】:

  • 我尝试使用 \r 和 \b 但它们似乎都没有工作。我应该使用它们的不同转义序列吗?我的代码:#include int main() { std::cout
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
相关资源
最近更新 更多