3

我想使用 system() 执行一个批处理文件,文件的路径将被传递给函数,所以它看起来像这样:

void executeBatch(char* BatchFile){
    system(BatchFile);
}

现在的问题是传入的路径将没有转义引号以忽略空格,例如用户将输入:

"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"

如何在传入的路径中添加转义引号?

所以我基本上改变了:

"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"

"\"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat\""
4

1 回答 1

2

我假设你想要这样的东西:

void executeBatch(char* BatchFile){
string cmd(BatchFile)
string expandCmd = string("\"") + cmd + string("\"");
system(expandCmd.c_str());
}
于 2013-07-11T18:01:07.423 回答