我正在编写一个在Linux中运行的Qt应用程序。我需要写一个文件到:
"$XDG_CONFIG_DIRS/whatever"/ "$HOME/whatever"
如何在我的代码中解析环境变量## Heading ##?
答案 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方式是一种很好的做法。