2010-04-01 50 views
3

我想每次用戶在C++中輸入時清除控制檯屏幕。如何檢查OS是Windows還是C++的Debian?

我正在考慮使用系統命令。對於Windows,它是「cls」。對於Linux,它是「明確的」。有沒有辦法檢查哪個系統在C++中使用適當的命令?

謝謝。

+0

,如果你不希望使用的ifdef,你可以做這兩個動作。 – sisis 2010-04-01 02:31:11

+0

@sisis:但是這會將錯誤轉儲到命令提示符。 – 2010-04-01 02:32:03

回答

1

您也可以在C++中使用C預處理器 - 條件語法。

#ifdef linux 
    //clear 
#else 
    //cls 
#endif 
4

不,沒有C++標準的方法來做到這一點。

您可以指示您的Windows編譯器定義WINDOWS宏和您的linux編譯器來定義LINUX宏;一些編譯器默認執行此操作(例如,Visual Studio定義了WIN32)。

5

有一招解決方案:

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

對於Unix,它只是正常工作。對於Windows,它將提示錯誤,如

'clear'不被識別爲內部或外部命令, 可操作的程序或批處理文件。

它現在將被「cls」清除。所以在命令提示符窗口中,它不會留下任何軌道。 :d

+0

整潔的把戲;).. – Inverse 2010-04-01 03:05:30

相關問題