在 Solaris、Linux、Windows 和 Mac 上用 C 语言清除屏幕
Posted
技术标签:
【中文标题】在 Solaris、Linux、Windows 和 Mac 上用 C 语言清除屏幕【英文标题】:Clearing the Screen in C on Solaris, Linux, Windows and Mac 【发布时间】:2011-03-08 01:12:47 【问题描述】:我正在用 C 编写一个小应用程序,并想清除终端/dos 窗口的文本。
到目前为止我有:
if (system("cls"))
system("clear");
这似乎在除了 Mac 之外的所有设备上都可以正常工作,这给了我错误:
sh: cls: 找不到命令 TERM 未设置环境变量。
奇怪的是,来自终端的 clear
有效,但 system(clear);
无效,我不知道为什么。
有谁知道我可以如何阻止这种情况,或者修改我的代码以清除 Mac 终端上的屏幕,这将在其他 ANSI C 兼容编译器上运行,而显然无需向控制台写入一堆 '/n'?
【问题讨论】:
How do I clear the console in BOTH Windows and Linux using C++ 的可能重复项 如果某个用户想要通过管道传输到您的小型应用程序/从您的小型应用程序传输信息怎么办?cat somefile | yourApp | grep foobar
???不清屏可以吗?
好吧,因为我正在学习 C,所以我更关心学习如何清除它,而不是用户是否想通过管道传入/传出我的应用程序! ;)
【参考方案1】:
原来这是在 XCode 中编译和运行的问题。在 XCode 外部编译和运行时,代码按预期工作。呸!
【讨论】:
以上是关于在 Solaris、Linux、Windows 和 Mac 上用 C 语言清除屏幕的主要内容,如果未能解决你的问题,请参考以下文章
Solaris 上的 GCC - 在“0x00000002”之前解析错误