2017-02-10 108 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

相关问题