我们如何实现 clrscr() ?谷歌搜索我发现 \x1b[2j 可以用来清除屏幕,但我们如何使用它?

最佳答案

标准 C 库不提供清除屏幕的方法。为此,您需要一个依赖于操作系统的库。

在 DOS 和 Windows 下,对于在 DOS 或 Windows 控制台中运行的程序,您可以使用操作系统附带的核心 C 库中提供的 DOS/Windows 扩展:

#include <conio.h>
clrscr();

在 unix 系统下,您可以使用操作系统提供的 curses 库。大多数操作系统(包括 Windows)都存在 Curses 库的端口,因此这是可移植程序的方法。将您的程序与 -lcurses 链接并使用
#include <curses.h>
erase();

某些终端和终端模拟器执行特殊功能,例如在收到转义序列时清除屏幕。大多数终端都遵循 ANSI 标准,该标准定义了许多转义序列; "\x1b[2J"就是这样的序列,其作用是清除屏幕。注意大写 J 。在这样的终端上,fputs("\x1b[2J", stdout) 清除屏幕。实际上,当您在这样的终端上调用erase()时,curses库便会执行此操作; curses 库包括一个终端类型数据库以及用于各种类型的转义序列。

关于c - 如何使用\x1b[2j 清除屏幕?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3646240/

10-10 04:53