如何编写包含环境变量的路径?

时间:2010-11-15 13:08:15

标签: linux parsing qt parameters

我正在编写一个在Linux中运行的Qt应用程序。我需要写一个文件到:

"$XDG_CONFIG_DIRS/whatever"/ "$HOME/whatever"

如何在我的代码中解析环境变量## Heading ##?

2 个答案:

答案 0 :(得分:3)

只使用普通库函数,使用getenv()来查找环境变量的值:

const char *dirs = getenv("XDK_CONFIG_DIRS");

如果未在环境中设置变量,则返回NULL,因此请确保代码处理此情况。

在这种情况下,您必须自己将变量值“插值”到文本的其余部分。

不确定Qt是否提供了一个包装器或更高级别的东西,可以为你进行插值,我没有使用过Qt。

答案 1 :(得分:0)

getenv,如前所述,如果你真的只针对Linux。如果你想将它移植到非Unix平台,你应该使用qgetenv()或QProcessEnvironment :: systemEnvironment()。value(QLatin1String(“XDG_CONFIG_DIRS”))。一般来说,使用便携式Qt方式是一种很好的做法。