我有一个Windows控制台应用程序,它接收文件,进行一些计算,然后将输出写入指定的文件。输入是以“app.exe -input fullfilename”格式指定的。我需要从我的C++程序中调用此应用程序,但是路径中的空格会导致问题。当我直接从cmd.exe中调用该应用程序时(为了清晰起见没有指定输出文件),出现了问题。
"c:\first path\app.exe" -input "c:\second path\input.file"
一切都正常工作。但是,当我尝试使用 cstdlib 的 std::system() 函数时,即
std::system(" \"c:\\first path\\app.exe\" -input \"c:\\second path\\input.file\" ");
控制台打印出c:\first不是有效的命令。这可能是一个常见错误,但有简单的解决方法,但我一直找不到。谢谢任何帮助。
std::system(" \"\"c:\\first path\\app.exe\" -input \"c:\\second path\\input.file\"\" ");
- Naveen