从 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 清除输入。
我正在为 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 清除输入。