C++ 在Qt中使用$HOME
我在一个Qt项目的工作,我希望工作目录是动态设置的程序将在不同的系统上运行 我已附上代码供你参考C++ 在Qt中使用$HOME,c++,qt,qprocess,C++,Qt,Qprocess,我在一个Qt项目的工作,我希望工作目录是动态设置的程序将在不同的系统上运行 我已附上代码供你参考 QProcess Home; Home.start("echo",QStringList() << "$HOME"); Home.waitForFinished(-1); qDebug() << Home.readAllStandardOutput(); qprocesshome; Home.start(“echo”,QStringList()可用于检索进程环境中设置的主路
QProcess Home;
Home.start("echo",QStringList() << "$HOME");
Home.waitForFinished(-1);
qDebug() << Home.readAllStandardOutput();
qprocesshome;
Home.start(“echo”,QStringList()可用于检索进程环境中设置的主路径
#include <cstdlib>
const char *homePath = std::getenv("HOME");
if(homePath != NULL)
{
QProcess Home;
Home.start("echo",QStringList() << homePath);
Home.waitForFinished(-1);
qDebug() << Home.readAllStandardOutput();
}
#包括
const char*homePath=std::getenv(“HOME”);
if(homePath!=NULL)
{
qprocesshome;
Home.start(“echo”,QStringList()可用于检索进程环境中设置的主路径
#include <cstdlib>
const char *homePath = std::getenv("HOME");
if(homePath != NULL)
{
QProcess Home;
Home.start("echo",QStringList() << homePath);
Home.waitForFinished(-1);
qDebug() << Home.readAllStandardOutput();
}
#包括
const char*homePath=std::getenv(“HOME”);
if(homePath!=NULL)
{
qprocesshome;
Home.start(“echo”,QStringList()这里是另一种方法
QStringList QProcess::systemEnvironment()[静态]
希望能有所帮助。这里有另一种方法
QStringList QProcess::systemEnvironment()[静态]
希望对您有所帮助。是QT库提供的函数,用于获取所有平台上的任何环境变量
getenv()似乎在Windows VS2005以后的版本中已被弃用。是QT库提供的函数,用于在所有平台上获取任何环境变量
getenv()似乎在Windows VS2005以后的版本中不受欢迎,尤其是对于主路径,您应该使用QDir::homePath()尤其是对于主路径,您应该使用QDir::homePath()为什么您认为它应该用实际的主路径替换$home
也有吗?为什么你认为它应该用实际的主路径替换$HOME
?@CaptainObvlious:因为系统(“echo$HOME”)
也有吗?你也可以使用QDir::homePath()
来获取主路径。对于QDir::homePath(),qgetenv
可以使用std::getenv
+1
。这也适用于Windows。$HOME
是POSIX。@Riateche,谢谢你的帮助,但现在我遇到了另一个问题。我可以访问$HOME,但无法访问其他用户定义的环境变量。如果你能帮我解决这个问题,那就太好了。你也可以使用QDir::homePath()
获取主路径。对于QDir::homePath(),可以使用qgetenv
代替std::getenv
+1
。这也适用于Windows。$HOME
是POSIX。@Riateche,谢谢你帮了大忙,但现在我遇到了另一个问题。我可以访问$HOME,但无法访问其他用户定义的环境变量。如果你能帮我解决这个问题,那就太好了。谢谢你,这确实有帮助,但现在我想访问用户定义的环境变量Bles.qgetenv没有给我答案。请帮助我。谢谢,它确实有帮助,但现在我想访问用户定义的环境变量。qgetenv没有给我答案。请帮助我。