我正在尝试从C源文件启动可执行文件。当路径中有空间时。
system("D:\\Games\\Subway Surfers\\Subway_Surfers.exe")
它不起作用 当我更改文件夹名称并删除它的工作空间。有办法解决这个问题吗?
答案 0 :(得分:1)
尝试将\
替换为\\
,将替换为
\
。您必须使用各自的转义字符替换字符。
system("\"D:\\Games\\Subway\ Surfers\\Subway_Surfers.exe\"");
此命令将被解释为:
"D:\Games\Subway Surgers\Subway_Surfers.exe"
并且,带有空格的路径周围的引号可确保字符串不会因空格而被截断。
答案 1 :(得分:1)
在路径中使用空格时必须使用转义字符。
例如:system("D:\\Games\\Subway\ Surfers\\Subway_Surfers.exe");
答案 2 :(得分:1)
谢谢你们转义字符没有用,所以我只使用了CreateProcess()函数。它很长,但即使有空格也可以正常工作
答案 3 :(得分:0)
您需要引用包含空格字符的子目录名称。例如喜欢
system("D:\\Games\\\"Subway Surfers\"\\Subway_Surfers.exe")
其中\"地铁冲浪者\"引用带空格的子网。
答案 4 :(得分:0)
我找到了使用system()函数的完美解决方法。它需要参数中的一个字符串,所以我只创建一个字符串,其内容是路径,例如char path [50] =" D:\ SubwaySurfers \ SubwaySurfers.exe"然后将该函数调用为
系统(路径);
但是在一些特定的应用程序中,例如Apache(Game),无论我使用CreateProcess还是System,它都无法工作。