C++ 命令在CMD中工作,但在c+中不工作+;使用system()函数编程
我正在使用Visual Studio 2013 <>我试图从C++程序中运行CMD命令,但是有些命令在CMD中工作正常,但是在C++程序中不工作。例如,<代码> BtDebug -S/<代码>在CMD中工作,但不是从C++程序中的<代码>系统(“BtDest-S”)< /C> >。错误是: “btdiscovery”未被识别为内部或外部命令、可操作程序或批处理文件C++ 命令在CMD中工作,但在c+中不工作+;使用system()函数编程,c++,C++,我正在使用Visual Studio 2013 我试图从C++程序中运行CMD命令,但是有些命令在CMD中工作正常,但是在C++程序中不工作。例如, BtDebug -S/在CMD中工作,但不是从C++程序中的系统(“BtDest-S”)< /C> >。错误是: “btdiscovery”未被识别为内部或外部命令、可操作程序或批处理文件 为什么会发生这种情况,以及我如何修复这种情况?首先要检查的是托管(外壳化)进程的路径是否包含您试图触发的可执行文件。或者,您可以在启动代码中提供可执行文件的完整
为什么会发生这种情况,以及我如何修复这种情况?首先要检查的是托管(外壳化)进程的路径是否包含您试图触发的可执行文件。或者,您可以在启动代码中提供可执行文件的完整路径 它是在Windows的CMD中工作的,所以它应该在系统命令中运行,因为系统只是向CMD发送命令,不是吗?一个外壳化的进程可能与命令提示符的环境变量略有不同。目标可执行文件的完全限定路径可能是最安全的选择。如何提供完整路径?在启动应用程序btdiscovery的代码中,只需提供它的完整路径,例如c:\somefolder\bt\btdiscovery.exe(根据其在计算机上的实际位置适当更改路径)。如果您使用CreateProcess启动应用程序,我相信第一个参数是可选的pathspec,第二个参数是可执行文件本身……太棒了!很乐意帮忙。