如何在终端上隐藏我的输入?

时间:2016-06-23 16:09:56

标签: c++ linux input io user-input

我在使用C ++的Ubuntu上

Image

如何隐藏我的终端上图中所示的红色框(用户输入)?

char *MESSAGE=getpass(""); 

上面的代码会在每次输入后留下一个空行,我不希望在用户输入消息时隐藏消息。

简而言之,我希望消息可见,因为我输入消息但是在他输入后立即在我的终端上隐藏

编辑:有人可以请教我如何将这个问题重复到该主题吗?

3 个答案:

答案 0 :(得分:0)

您可以在发送消息后清除终端,然后重新打印整个聊天。

答案 1 :(得分:0)

如果您可以先打印名称然后阅读输入消息,我认为您的问题可能会得到解决。你试过了吗?

答案 2 :(得分:0)

只有标准C库中的函数才能以可靠和可移植的方式执行此操作,即使使用Posix也不行。

如果你现在使用的是Windows控制台,如果你知道你正在使用符合一个标准的终端模拟器(VT100,xterm,.. 。)你可以输出特殊的控制序列来做同样的事情。

唯一可移植的方法是使用像curses这样的屏幕管理库,为你做低级别的工作。