我想在不同的屏幕上显示输出,但是如何? 例如: 我想要显示"你好世界"在第一个黑屏上,当我按下回车键时,旧屏幕将消失,另一个新的黑屏将显示"谢谢你" 。 该怎么做呢?
答案 0 :(得分:0)
取决于您想要的内容,但只需在输入后清除屏幕。
puts("\033[2J");
将使用VT100转义码在大多数终端上运行。
clrscr()
是<conio.h>
中定义的非标准函数,是一些较旧的编译器使用的函数。
system("cls");
适用于Windows,system("clear");
适用于Linux,位于<stdlib.h>
。
这些选项将涵盖使用C时遇到的大多数环境。
答案 1 :(得分:0)
这与平台有关。
在Unix中,你必须调用相应的API,Qt或GTK来创建一个新的终端控制台。
在Windows中,您必须调用WinAPI,例如CreateConsole
等。
如果您只想清除当前的控制台,会更容易。使用ASCII CSI转义序列适用于大多数Unix&amp; Linux系统,只是
printf("\x1B[2J");
或在Windows中,请致电
system("cls");
实际上有一种更原生的方法,它调用FillConsoleOutputCharacter
和FillConsoleOutputAttribute
,这引入了我在这里不讨论的额外代码。