来自std :: cin的std :: getline - 通过上/下按钮输入历史记录在linux中不起作用

时间:2018-05-29 10:44:58

标签: c++ linux bash cin getline

控制台程序使用此代码逐行接收用户输入

while ( _run ) { 
    std::cout << "\n > ";
    std::string cmd = "";
    std::getline(std::cin, cmd);
    /* do something */
}

如果用户想要重复上一行,他/她将使用向上/向下键盘键导航到。在Windows中它工作正常,但在Linux中我看到这个字符而不是上一行:

^[[A - for up key
^[[B - for down key
^[[C - for right key
^[[D - for left key

也无法使用左/右键盘按钮在当前行中导航。

如何解决?

0 个答案:

没有答案