Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QProcessEnvironment是一个带有空格和引号的值_C++_Qt_Escaping_Environment Variables_Qprocess - Fatal编程技术网

C++ QProcessEnvironment是一个带有空格和引号的值

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" \ /

我正在为我将使用QProcess启动的程序设置环境。我需要设置的一个环境变量可能包含空格、斜杠和引号。正确的处理方法是什么

我尝试过转义引号,并在字符串的两端添加一个\“,但我的环境变量始终为空。有人可以分享如何处理此问题的代码示例吗

我在想:

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有操作员