从 C 中的终端删除用户输入

Delete User Input from the Terminal in C

我正在为 Windows 和 Linux 开发一个程序,用 C 编写代码,我希望程序从用户那里获得输入,显示它直到它完成(即按下'enter'),然后取消显示用户输入的内容,最后重新显示带有时间戳的内容。

它应该是这样的:

(在用户点击回车之前)

Enter a string: abcde

(然后在输入字符串"abcde"之后)

|19:53| User: abcde

目前程序做的是:

Enter a string: abcde

|19:53| User: abcde

没有输入行消失。

好吧,这很难。你必须上升一行才能清除它。在 Linux 上,您可以使用像 "3[A" 这样的 ANSI 转义码来上一行。没有 C 标准方法来做到这一点。

如果您打印某些内容并且您在同一行,请使用 "\b" 后退 space 一个字符。从那时起,您可以使用白色 space 清除输入。