use*_*575 6 c++ linux terminal console
我想制作交互式控制台应用程序,它允许循环输入命令。例如,用户输入“搜索”,程序会找到一些数据并将其打印在屏幕上。然后程序等待下一个命令(可以是搜索、退出或其他)。为了用户的方便,我希望我的程序支持命令历史记录(就像在终端中,当按键盘上的向上和向下箭头时)。但我无法意识到如何做到这一点,因为我不知道如何打印可以通过 scanf、std::getline、std::cin 等进一步读取的文本。\n所以代码std::cin << "hello";不是\n已编译(与 \xe2\x80\x98std::cin << "hello"\xe2\x80\x99 中的 \xe2\x80\x98operator<<\xe2\x80\x99 不匹配)。函数fprintf(stdin, "hello");不打印任何内容,并且 scanf 无法读取此打印消息。显然std::getline(std::cin, str);, andscanf("%s", s);等gets(s)无法读取printfor输出的文本std::out。所以问题是:如何在控制台上打印stdin( std::cin) 中的文本?或者也许有更优雅的方式来组织命令历史记录?
PS我还考虑过模拟按下按钮来打印我需要的文本,但我希望有更好的方法来创建命令历史记录
\n\nPPS 我使用 Linux 和 C++
\n| 归档时间: |
|
| 查看次数: |
3993 次 |
| 最近记录: |