【问题标题】:Clean the screen in C [duplicate]在C中清洁屏幕[重复]
【发布时间】:2015-08-14 06:46:45
【问题描述】:

我想每 2 秒清理一次控制台屏幕,所以我尝试使用以下命令:system("clear"); 但它不会清除屏幕。 eclipse 也无法识别 clrscr() 函数的文件“conio.h”。我正在使用 Ubuntu 操作系统。有什么建议吗?

【问题讨论】:

  • system("clear"); 是做什么的?在命令行输入clear 会发生什么? (还有为什么要每 2 秒清屏一次?)
  • 在 Ubuntu 上,/usr/bin/clearncurses-bin 包的一部分;安装了吗?
  • 我注意到你的很多问题都与 C 中的类似 shell 的过程有关。你有什么理由选择 C ​​来完成这些任务而不是 shell 脚本语言(如 bash ) 或至少是一种更高级的语言(python 或 ruby​​)?

标签: c++ c


【解决方案1】:

这个问题之前回答过:How do you clear console screen in C?

基本上,它不是跨平台的。如果你使用的是 Ubuntu,这条线应该可以工作:

printf("\e[1;1H\e[2J");

测试时:

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("\e[1;1H\e[2J");
    printf("3\n");
    sleep(1);

    printf("\e[1;1H\e[2J");
    printf("2\n");
    sleep(1);

    printf("\e[1;1H\e[2J");
    printf("1\n");
    sleep(1);

    printf("\e[1;1H\e[2J");
    printf("0\n");

    return 0;
}

【讨论】:

  • 试过这个。这是行不通的。只打印一些乱码
  • 您是否在 bash 中运行您的程序?我刚刚测试了它并且它有效。我在 Linux Mint 上,它基于 Ubuntu。
  • 我正在终端和 Eclipse 中运行该程序。注意这个程序在子进程中
  • 它应该可以工作。检查我的编辑。
猜你喜欢
  • 2016-01-15
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
  • 2013-08-11
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
相关资源
最近更新 更多