【发布时间】:2010-08-09 01:38:38
【问题描述】:
我正在使用process::start(PATH); 来打开进程。问题是,有时它会找到文件,有时却找不到。
例如,这是有效的:
process::start("C:\text.exe");
但这不起作用:
process::start("C:\New Folder\text.exe");
知道有什么区别吗?
【问题讨论】:
标签: c++ visual-c++ process path
我正在使用process::start(PATH); 来打开进程。问题是,有时它会找到文件,有时却找不到。
例如,这是有效的:
process::start("C:\text.exe");
但这不起作用:
process::start("C:\New Folder\text.exe");
知道有什么区别吗?
【问题讨论】:
标签: c++ visual-c++ process path
您必须转义 \ 字符。
在 C 字符串中 \t 是 TAB 字符。使用:
process::start("C:\\New Folder\\text.exe");
【讨论】:
C: ext.exe
c: ext.exe(甚至c: blah blah blah),你会发现它不会给你错误。我不确定 OP 是如何定义“成功”的,但如果它只是“没有产生错误”,那就可以解释了。
库可能认为 c:\New 是您正在运行的程序,Folder\text.exe 是您传递给它的参数。
你可能需要引用它,所以你这样称呼:
"C:\New Folder\text.exe"
C++ 字符串如下所示:
process::start("\"C:\\New Folder\\text.exe\"");
【讨论】: