我有这个示例程序。它清除屏幕和回滚缓冲区。
#include <stdio.h>
int
main(void)
{
printf("\ec");
return 0;
}
但是我读过
并非所有终端都采用 ANSI/VT100+ 转义序列。
所以我想使用像erase();
Gilles
建议的东西。不过erase
和朋友好像只清屏不清缓冲区。
如果你使用 Windows,你可以使用这个
#include <stdio.h>
int main(void)
{
system("cls"); //call to system function to clear screen.
return 0;
}
该线程有以下建议:
在要删除其回滚的窗口中,将回滚设置为零,然后将其恢复为正常值(在您的情况下为 15000)。
如果需要,可以将其绑定到一个键:
bind / eval "scrollback 0" "scrollback 15000"
你也可以在会话中发出scrollback 0
命令,在输入C-a :
. HTH。
C 没有屏幕或回滚缓冲区的概念,因此仅使用 C 无法解决此问题。您的系统可能会提供实现所需效果的方法,本质上使您的程序不再是 C 程序,而是为“使用 Frobozz Magic V1.42 中的 C 实现而编写的程序,使用 Frobniz 编译器并与 CleanScreen 库工具包链接”。将自己从非便携式编程的噩梦中解救出来,忘记这个想法。尝试解决有用的问题,例如在 C 中实现算法,忘记屏幕清除等无用的 chrome。(如果你真的必须,链接到一个 termcap 库并调用适当的函数)。