我想每次用戶在C++中輸入時清除控制檯屏幕。如何檢查OS是Windows還是C++的Debian?
我正在考慮使用系統命令。對於Windows,它是「cls」。對於Linux,它是「明確的」。有沒有辦法檢查哪個系統在C++中使用適當的命令?
謝謝。
我想每次用戶在C++中輸入時清除控制檯屏幕。如何檢查OS是Windows還是C++的Debian?
我正在考慮使用系統命令。對於Windows,它是「cls」。對於Linux,它是「明確的」。有沒有辦法檢查哪個系統在C++中使用適當的命令?
謝謝。
您也可以在C++中使用C預處理器 - 條件語法。
#ifdef linux
//clear
#else
//cls
#endif
不,沒有C++標準的方法來做到這一點。
您可以指示您的Windows編譯器定義WINDOWS
宏和您的linux編譯器來定義LINUX
宏;一些編譯器默認執行此操作(例如,Visual Studio定義了WIN32
)。
有一招解決方案:
if (system("clear"))
system("cls");
對於Unix,它只是正常工作。對於Windows,它將提示錯誤,如
'clear'不被識別爲內部或外部命令, 可操作的程序或批處理文件。
它現在將被「cls」清除。所以在命令提示符窗口中,它不會留下任何軌道。 :d
整潔的把戲;).. – Inverse 2010-04-01 03:05:30
,如果你不希望使用的ifdef,你可以做這兩個動作。 – sisis 2010-04-01 02:31:11
@sisis:但是這會將錯誤轉儲到命令提示符。 – 2010-04-01 02:32:03