C++ QProcessEnvironment是一个带有空格和引号的值
我正在为我将使用QProcess启动的程序设置环境。我需要设置的一个环境变量可能包含空格、斜杠和引号。正确的处理方法是什么 我尝试过转义引号,并在字符串的两端添加一个\“,但我的环境变量始终为空。有人可以分享如何处理此问题的代码示例吗 我在想:C++ QProcessEnvironment是一个带有空格和引号的值,c++,qt,escaping,environment-variables,qprocess,C++,Qt,Escaping,Environment Variables,Qprocess,我正在为我将使用QProcess启动的程序设置环境。我需要设置的一个环境变量可能包含空格、斜杠和引号。正确的处理方法是什么 我尝试过转义引号,并在字符串的两端添加一个\“,但我的环境变量始终为空。有人可以分享如何处理此问题的代码示例吗 我在想: a = "\""+a.replace(QRegExp(QLatin1String("(\\\\*)\"")), QLatin1String("\\1\\1\\\""))+"\""; 但经过无数次的尝试,我想我也会寻求帮助 例如,如果a是: A" \ /
a = "\""+a.replace(QRegExp(QLatin1String("(\\\\*)\"")), QLatin1String("\\1\\1\\\""))+"\"";
但经过无数次的尝试,我想我也会寻求帮助
例如,如果a是:
A" \ / '
我试图通过设置一个环境变量
environment << "a=\""+a+"\""
environment尝试在QProcessEnvironment中将环境变量设置为[X“c'],然后运行shell,您将看到该变量未设置。它必须逃脱。这是我的问题…如何正确地避开它这些事情非常依赖于平台。确切的站台是什么?(Windows版本或Linux发行版,以及确切的Qt版本和比特数)。您所描述的可能是错误或平台限制。在64位RedHat 6上运行Qt 5.1.0。QProcessEnvironment
没有运算符,或者构建一组环境变量,然后将它们一次插入QProcessEnvironment。我没说QProcessEnvironment有操作员