我无法在名称和参数中使用空格进行系统调用。例如:
system("c:\\program files\\something\\example.exe c:\\my files\\example.txt");
我试图以各种方式逃避,我知道如何,并且没有工作。我试过了:
system("\"c:\\program files\\something\\example.exe\" \"c:\\my files\\example.txt\"");
和
system("c:\\program^ files\\something\\example.exe c:\\my^ files\\example.txt");
都没有工作。我仍然得到'c:\ program'不是一个经过认可的内部或外部命令
这真让我疯了......我需要调用并传递其中包含空格的参数。我不能使用简短的符号,因为我不会进入。
我尝试使用'引号而不是“引号,仍然无效。我尝试在整个事物周围加引号并在空格周围引用,但这不起作用。
有谁知道如何正确地做到这一点?
答案 0 :(得分:26)
编辑:好的,通过加入system()
调用找出答案:由于内部调用 cmd这一事实,您需要额外的一组引号/ c yourinput
所以这对我有用:
system("\"\"c:\\program files\\internet explorer\\iexplore.exe\" \"www.stackoverflow.com\"\"");
有点乱,不是吗?