2011-03-08 35 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