在C语言中从终端删除用户输入

在C语言中从终端删除用户输入,c,input,output,echo,C,Input,Output,Echo,我正在为Windows和Linux编写一个程序,用C编写,我希望该程序从用户那里获取输入,显示它直到完成(即按下“回车”),然后取消显示用户输入的内容,最后用时间戳重新显示 应该是这样的: (在用户点击enter键之前) 输入字符串:abcde (输入字符串“abcde”后) | 19:53 |用户:abcde 目前,该计划所做的是: 输入字符串:abcde | 19:53 |用户:abcde 没有显示输入行。嗯,这很难。你得往上走一条线才能把它清除。在Linux上,您可以使用ANSI转义码,如

我正在为Windows和Linux编写一个程序,用C编写,我希望该程序从用户那里获取输入,显示它直到完成(即按下“回车”),然后取消显示用户输入的内容,最后用时间戳重新显示

应该是这样的:

(在用户点击enter键之前)

输入字符串:abcde

(输入字符串“abcde”后)

| 19:53 |用户:abcde

目前,该计划所做的是:

输入字符串:abcde

| 19:53 |用户:abcde


没有显示输入行。

嗯,这很难。你得往上走一条线才能把它清除。在Linux上,您可以使用ANSI转义码,如
“\033[A”
,来上一行。没有C标准的方法来实现这一点


如果打印的内容在同一行上,请使用
“\b”
退格一个字符。然后,可以使用空格清除输入。

为什么使用
c++
标记?可以使用
fgets()
get()
读取字符串,直到enter@senoron
gets()
不再是标准C库的一部分。