发现了rlwrap这个好东西。 在Mac OS和Linux下一直都用bash,bash下命令的输入都是通过readline这个库来处理的。也就是说,上下箭头查看历史命令,Ctrl+r反向查找匹配历史输入,以及Ctrl+w, Ctrl+a等等操作都是由readline提供的。rlwrap提供了readline的封装! rlwrap runs the specified command, intercepting user input in order to provide readline's line editing, persistent history and completion. 也就是说rlwrap提供一个输入环境,在这个输入环境下可以使用readline的各种功能。如果一个程序在命令行下接受输入,那么用rlwrap直接就可以得到像在bash下输入那样的效果。 比如一个简单的反转输入行的程序 #include #include #include int main(int argc, char **argv) { using namespace std; string str; cout