我怎样才能从C中清除另一个tty?

0 c terminal

在终端我可以通过运行清除另一个终端:

echo -e "\033\0143" > /dev/pts/14
Run Code Online (Sandbox Code Playgroud)

但是,如果我通过以下方式从我的C程序中尝试此操作:

system("echo -e '\033\0143' > /dev/pts/14");
Run Code Online (Sandbox Code Playgroud)

它不会清除屏幕并留下一些垃圾.关于如何做到这一点的任何想法?

我已经用C语言编程了30年,并认为这很容易.

Mic*_*mer 5

\0143逃逸是由C或解释,而不是由外壳echo,并且它视为具有\014然后数字3.这最终将字节写入1b 0c 33 0atty,而不是1b 63 0a.-e在这一点上根本没有做任何事情.

我不明白为什么你会这样做,而不是打开tty文件并直接用字节写write(3).无论如何,这确实是一个编程问题.