我想将终端上的最后一个输入行设置为固定,以便从应用程序打印的所有内容都不会干扰用户的输入。我正在制作一个虚幻引擎4插件,但是我需要管理Linux终端输入。
我尝试使用cin来获取输入,并且可以正常工作,但是我不知道如何将用户的输入与应用程序的输出分开。
std::string input;
getline(std::cin, input);
char inputchar[input.size() + 1];
strcpy(inputchar, input.c_str());
UE_LOG(LogServerConsole, Warning, TEXT("Current Input: %s"), *FString(inputchar));
在Linux上,绝对可以使用ANSI转义序列来完成您要的操作。但是,仅仅因为有可能并不意味着容易。这些是必须构建的非常低级的原语。
Ncurses是一个高级库,用于在终端窗口中执行更复杂的操作。我鼓励您在此处和许多其他地方在线阅读它,以了解它是否满足您的需求。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。