2017-02-10 66 views
-1

在C++程序不工作,我使用Visual Studio 2013的命令是工作在CMD但使用系統()函數

我試圖運行從C CMD命令++程序,但一些命令是在CMD中正常工作,但不能在C++程序中工作。例如,btdiscovery -s正在CMD中工作,但不是來自我的C++程序的system("btdiscovery -s")。錯誤是:

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

爲什麼會發生這種情況,我該如何解決這個問題?

回答

2

要檢查的第一件事是託管(shelled)進程的PATH是否包含您試圖啓動的可執行文件。或者,您可以在啓動代碼中提供可執行文件的完整路徑。

+0

它在Windows的CMD中工作,所以它應該在系統命令中運行,因爲系統只是發送命令到CMD不是嗎? – Faiq

+0

殼式進程可能與命令提示符略有不同的環境變量。目標可執行文件的完全限定路徑可能是最安全的選擇。 –

+0

如何提供完整路徑? – Faiq

相關問題