如何正确使用system()在C++中执行命令?

ash*_*ash 15 c++ system function

我是Windows下的C++编程新手.我试图cuobjdump用C++代码执行命令,使用system()函数:

system("C:\\program files\\nvidia gpu computing...\\cuobjdump.exe --dump-cubin C:\\..\\input.exe");
Run Code Online (Sandbox Code Playgroud)

输出:

Usage  : cuobjdump [options] <file>
Run Code Online (Sandbox Code Playgroud)

接下来是cuobjdump的选项列表.

当我执行这个程序时,我总是得到命令行中显示的cuobjdump帮助选项.就像系统调用不解析文件名一样.我究竟做错了什么?使用createprocess时,我得到相同的结果.这些选项--dump-cubin会产生错误,就好像我输入错误一样.

Grz*_*ski 11

尝试一下(也就是说,周围的cuobjdump.exe路径",在C++中正确转义\"):

system("\"C:\\program files\\nvidia gpu computing...\\cuobjdump.exe\" --dump-cubin C:\\..\\input.exe");
Run Code Online (Sandbox Code Playgroud)


Ben*_*igt 5

system("cuobjdump --dump-cubin path\filename.exe");
Run Code Online (Sandbox Code Playgroud)

\f被编译器解释为字符串转义序列,请尝试path\\filename.exe