所以,我编写了一个代码,它将使用tdm gcc编译器编译C ++代码。我的代码使用openfiledialog
来允许用户选择要编译的文件,然后我构造一个String命令,作为,
cmd = "/c g++ " + openfiledialog.filename.toString() + " -o temp.exe";
然后我使用流程实例以正常方式执行此命令。但是,如果文件路径中有空格,例如:" D:\ haha haha \ test.cpp"然后g ++编译器显示错误说没有这样的目录哈哈等等如何克服这个?
答案 0 :(得分:1)
您需要围绕文件名引用以形成g++
命令行:
cmd = "/c g++ \"" + openfiledialog.filename.toString() + "\" -o temp.exe";
或者,您可以对.toString()
返回的值进行后处理,以在每个空格之前插入转义(反斜杠\
)字符。但引用方法更容易。