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

标签 c input output echo

我正在开发一个适用于 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/

相关文章:

html - 使用 CSS Flexbox 旋转 HTML 文本输入

encoding - Jenkins 控制台输出有这些来自 grunt 命令的奇怪字符 [31m[[39m...

c - 如何在 C 中的字符串中获取井号(或哈希)符号?

C++字符串和文件输入

c - 释放可能未初始化的结构成员

html - css 按钮字体大小不起作用

java - java中的二叉搜索树,中序遍历仅识别树中的单个数字

java - 按字母顺序对字符串数组进行排序。如何按每行中间的数字对同一数组进行排序

c - 特定于线程的数据

似乎无法让 fgetc 在第二次读取文件时工作