如何删除C中当前打印的控制台行?我在Linux系统上工作.比如-

printf("hello");
printf("bye");

我想在同一行打印BYE而不是HELLO.

推荐答案

你可以用VT100 escape codes.包括xterm在内的大多数终端都支持VTVT100 escape codes.对于删除一行,这是^[[2K.C中给出:

printf("\33[2K\r");

C++相关问答推荐

在C、Linux中同步进程

自定义malloc实现上奇怪的操作系统依赖行为

如何在不修改字符串缓冲区早期使用的情况下覆盖字符串缓冲区

为什么信号量为空= 0,而不是阻塞?

从内联程序集调用Rust函数和调用约定

如何在Visual Studio代码中关闭此函数名称显示功能?

为什么我一直收到分段错误?

在C23中使用_GENERIC实现带有右值的IS_POINTER(P)?

Rust FFI--如何用给出返回引用的迭代器包装C风格的迭代器?

CSAPP微型shell 实验室:卡在sigprocmask

Square不与Raylib一起移动

如何只获取字符串的第一个单词,然后将其与c中的另一个单词进行比较?

在C语言中,指针指向一个数组

C中的数组下标和指针算法给出了不同的结果

挥发性语义的形式化理解

即使客户端不发送数据,也会发生UNIX套接字读取

从系统派生线程调用CRT

C 语言中 CORDIC 对数的问题

如何使用 VLA 语法使用 const 指针声明函数

GDB 用内容初始化数组