我正在使用C++在Ubuntu上。 如何隐藏终端中显示的红框框(用户输入)? char *MESSAGE=getpass(""); 上面的代码会在每个输入后留下一个空行,我不想在用户输入消息时隐藏消息。简而言之,我希望在键入消息时消息是可见的,但一旦输入完成就在我的终端上变为不可见。编辑:有人能告诉我这个问题如何与那个主题重复吗?
你不能仅使用标准C库中的函数,甚至包括Posix,以可靠和可移植的方式完成此操作。 如果你知道你正在使用Windows控制台,则Windows控制台函数可以允许你擦除屏幕的特定部分,如果你知道你正在使用符合某个标准(VT100、xterm等)的终端仿真器,则可以输出特殊的控制序列来完成相同的操作。 唯一可移植的方法是使用像curses这样的屏幕管理库,它将为您完成底层工作。