我正在开发一个适用于 Windows 和 Linux 的程序,用 C 编写代码,我希望该程序从用户那里获取输入,显示它直到它完成(即按下“输入”),然后取消显示什么用户输入,最后用时间戳重新显示它。
它应该是这样的:
(在用户点击回车之前)
输入字符串:abcde
(然后在输入字符串“abcde”之后)
|19:53|用户:abcde
目前程序做的是:
输入字符串:abcde
|19:53|用户:abcde
没有输入行消失。
最佳答案
嗯,这很难。你必须上升一行才能清除它。在 Linux 上,您可以使用像 "\033[A"
这样的 ANSI 转义码来上一行。没有 C 标准方法来做到这一点。
如果您打印某些内容并且您在同一行,请使用 "\b"
退格一个字符。从那时起,您可以使用空格来清除输入。
关于c - 从 C 中的终端删除用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64844680/