windows C系统调用命令中的空格

myf*_*wik 13 c windows command-line escaping

我无法在名称和参数中使用空格进行系统调用.例如:

system("c:\\program files\\something\\example.exe c:\\my files\\example.txt");
Run Code Online (Sandbox Code Playgroud)

我试图逃避各种方式,我知道如何,并没有工作.我试过了:

system("\"c:\\program files\\something\\example.exe\" \"c:\\my files\\example.txt\"");
Run Code Online (Sandbox Code Playgroud)

system("c:\\program^ files\\something\\example.exe c:\\my^ files\\example.txt");
Run Code Online (Sandbox Code Playgroud)

都没有工作.我仍然得到'c:\ program'不是一个经过认可的内部或外部命令

这真让我疯了......我需要调用并传递其中包含空格的参数.我不能使用简短的符号,因为我不会进入.

我试过用'引号而不是"引号,仍然无效.我已经尝试在整个事物周围加上引号并在空格周围引用,但这不起作用.

有谁知道如何正确地做到这一点?

EMP*_*EMP 28

编辑:好的,通过步入system()调用来计算出来:由于内部调用cmd/c yourinput,因此整个事情需要一组额外的引号

这对我有用:

system("\"\"c:\\program files\\internet explorer\\iexplore.exe\" \"www.stackoverflow.com\"\"");
Run Code Online (Sandbox Code Playgroud)

有点乱,不是吗?