无法在参数中使用空格调用系统

时间:2015-06-19 12:10:29

标签: c batch-file system whitespace

我试图让这个系统调用工作。 它适用于地址中没有空格的情况,但如果地址中有空格则无法工作......

此调用将文件从一个地方复制到另一个地方。

如何在此代码中正确转义空间?

char buffer[300];
snprintf(buffer, sizeof(buffer), "copy %s\\%s %s", AssistPath, apiFileName, path);
system(buffer);

2 个答案:

答案 0 :(得分:1)

空间是关键吗?那你为什么不尝试这段代码?

snprintf(buffer, sizeof(buffer), "copy \"%s\\%s\" \"%s\"", AssistPath, apiFileName, path);

答案 1 :(得分:1)

你可以在可能有空格的东西周围使用引号

"copy \"%s\\%s\" \"%s\""