Eat.随 发表于 2023-11-8 08:54:44

清屏

请问有什么函数或者程序能在打印一些字符后将字符清除,而程序运行并不受影响(输入的数据之类的还在)
是一个for循环,输入数字改变字符型数组,然后打印字符型数组,在下一次输入的时候,将上一次打印的清除。
我已经尝试了printf("\n\n\n\n\n\n\n\n\n\n\n");但是不行。

isdkz 发表于 2023-11-8 08:55:37

你可以使用ANSI转义序列来实现清屏的效果。在C语言中,你可以使用printf函数来输出转义序列。

要清除屏幕上的字符,你可以使用以下的转义序列:

printf("\033[2J\033[H");

这个转义序列的含义是:
\033[2J:清除屏幕
\033[H:将光标移动到屏幕的左上角

所以,当你想要清除屏幕上的字符时,你可以在每次循环开始的时候使用这个转义序列。

以下是你的代码的修改示例:

#include <stdio.h>

int main() {
    int i;
    char arr;

    for(i = 0; i < 10; i++) {
      // 输入数字改变字符型数组
      // 这里只是示例,你可以根据实际需求进行修改
      arr[ i] = 'A' + i;

      // 清屏
      printf("\033[2J\033[H");

      // 打印字符型数组
      printf("%c\n", arr[ i]);

      // 等待用户输入
      getchar();
    }

    return 0;
}

这样,每次循环开始时,屏幕上的字符都会被清除,然后打印新的字符。

Mike_python小 发表于 2023-11-8 08:56:22

清屏 C/C++交流

在C/C++中,可以使用控制台操作来实现清屏的效果。下面我将介绍两种方法来实现清屏和保留数据的目的。

方法一:使用系统命令

在 C/C++ 程序中,可以使用系统命令来实现清屏的效果。在 Windows 系统下,可以使用 system("cls") 命令来清屏;在类 Unix 系统(如 Linux)下,可以使用 system("clear") 命令来清屏。

示例代码如下:


#include <stdio.h>
#include <stdlib.h>

int main() {
    printf("这是一些输出\n");
    // 清屏
    system("cls");// Windows系统
    // 或者使用 system("clear");// 类Unix系统
    // 继续其他操作
    return 0;
}


需要注意的是,使用 system 函数需要包含头文件 #include <stdlib.h>。

方法二:利用 ANSI 控制码

另一种方法是使用 ANSI 控制码来实现清屏的效果。在 ANSI 控制码中,"\033 可以实现清屏。

示例代码如下:


#include <stdio.h>

int main() {
    printf("这是一些输出\n");
    // 清屏
    printf("\033[2J\033[1;1H");
    // 继续其他操作
    return 0;
}


这里的 "\033 代表清屏的 ANSI 控制码,\033 表示清除整个屏幕,\033 将光标移动到左上角位置。

以上两种方法都可以实现清屏的效果,并且不影响程序的运行和输入数据。希望这些方法能够满足你的需求,如果还有其他问题,请随时向我提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页: [1]
查看完整版本: 清屏