如何在应用程序进行大量printf时,在固定输入的终端中设置最后一行

How to set the last line in terminal fixed for input while the application is doing a lot of printf?

本文关键字:设置 终端 最后 输入 一行 应用程序 printf      更新时间:2023-10-16

我想将终端上的最后一个输入行设置为固定,以便从应用程序打印的所有内容都不会干扰用户的输入。我正在制作虚幻引擎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逃生序列来做您要的事情。但是,仅仅因为它是可能的并不意味着它是 easy ;这些是必须建立的非常低级的原始图。

ncurses 是一个高级库,用于在终端窗口中进行更复杂的事情。我鼓励您在此处和其他许多地方在线阅读有关它是否满足您需求的信息。