如何用\ x1b清除屏幕[2j?

fud*_*din 6 c

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

Gil*_*il' 6

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

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

#include <conio.h>
clrscr();
Run Code Online (Sandbox Code Playgroud)

在unix系统下,您可以使用随操作系统提供的curses库.大多数操作系统(包括Windows)都存在curses库的端口,因此这是便携式程序的一种方式.链接您的程序-lcurses并使用

#include <curses.h>
erase();
Run Code Online (Sandbox Code Playgroud)

某些终端和终端仿真器执行特殊功能,例如在收到转义序列时清除屏幕.大多数终端遵循ANSI标准,该标准定义了许多转义序列; "\x1b[2J"是这样一个序列,它的作用是清除屏幕.注意资本J.在这样的终端上,fputs("\x1b[2J", stdout)清除屏幕.这实际上就是当你erase()在这样的终端上呼叫时curses库的作用; curses库包括终端类型的数据库以及在各种类型上使用的转义序列.