2011-03-08 69 views
0

我正在用C编写一个小应用程序,并且想要清除文本的终端/ dos窗口。在Solaris,Linux,Windows和Mac上清除C中的屏幕

到目前为止,我有:

if (system("cls")) 
    system("clear"); 

这似乎在除了苹果只是一切,它给我的错误做工精细:

sh: cls: command not found TERM environment variable not set.

请告诉我怪异,是,clear从终端作品,但不是system(clear);,我不知道为什么。

有没有人知道我可以如何阻止这一点,或者修改我的代码以清除Mac终端上的屏幕,该终端可以在其他符合ANSI C的编译器上工作,而且显然不会在控制台上写一串'/ n'

+0

可能的重复[如何清除控制台在Windows和Linux使用C + +](http://stackoverflow.com/questions/228617/how-do-i-clear-the-console-in-both- windows-and-linux-using-c) – 2011-03-08 01:14:53

+0

如果某个用户想要从你的小应用程序中传输出来,该怎么办? 'cat somefile | yourApp | grep foobar' ???你能不做清除屏幕? – pmg 2011-03-08 01:16:07

+0

那么,因为我学习C,所以我更关心学习如何清除它,而不是用户是否想要从我的应用程序中输入/输出! ;) – Ash 2011-03-08 01:19:36

回答

4

事实证明,这是编译和运行在XCode内部的问题。在XCode外编译并运行时,代码将按预期工作。卫生署!

+0

+1回答你自己的问题:) – pmg 2011-03-08 01:36:44