getline的可编辑默认输入

时间:2019-10-11 17:56:08

标签: c++ input default edit option

我正在编写一个非常简单的shell的历史记录,该shell使用getline和cin来获取命令。对于历史记录,我尝试为getline提供类似可编辑的默认选项的内容。类似于bash中“读”的-i标志。

通过在getline之前将默认选项打印到shell中,然后合并该选项以及如下的输入和处理过程,我就能拥有一个可附加选项:

    cout << "> " << lastCommand;
    getline(cin, command);
    command = lastCommand + command;

但是由于历史记录的目的也是纠正拼写错误的命令,因此该选项也需要可编辑。

我还发现,我可以使用“ rdbuf”将选项注入cin,但是getline只会返回该选项而无需进一步输入。 (Injecting string to 'cin'

通过什么我可以实现类似的目标? 任何帮助或提示将不胜感激。

0 个答案:

没有答案