在处理控制台输入 (stdin,std::cin) 时,C++ 中有一种可移植的方式来管理用户可能执行的各种操作,例如:
- 退格/删除
- 项目清单
- 左/右箭头键(移动光标前后插入文本)
例如在 windows 中使用 std::cin 时(例如:std::cin >> s;),它允许使用箭头键,但是在 linux 上使用相同的代码时,箭头键被假定为输入的一部分,光标不会四处移动。
我知道提供此类功能的各种 TUI 框架,例如 curses 和 ncurses,但它们超出了要求。
我希望有一个基于标准库的简单解决方案,甚至是一个轻量级的开源库,它可能具有类似 std::getline 的功能,可以在更流行的操作系统中移植。