允许用户不仅可以输入多行文本,还可以向上移动并编辑之前输入的行

Allow a user to not only input multliline text but move up and edit previously entered lines

我正在使用 C++ 开发一个基于控制台的原始文本编辑器,有点像 nano。我已经找到了输入多行文本并将其正确写入文件的基本方法(输入代码时输入结束://end)。但是,目前用户无法向上移动(使用箭头键)和编辑他们输入的行。对于一些额外的信息,我正在使用 getline() 循环执行此操作,使用 ofstream 编写文件,并将用户文本存储在字符串 vector 中,每个元素都是一个输入行。我如何实现以这种方式处理文本主体的能力?

要进行高级使用,您需要访问控制台 API。

要获得更简单的版本,请查看原始可视化编辑器。

编辑一行包括移动到该行,打印出内容,然后让他们在该行插入或删除字符。

看看 sed 或 ed 甚至 vi。