C++setenv 解析其他变量

C++ setenv resolve other variables

本文关键字:变量 其他 C++setenv      更新时间:2023-10-16

我正在使用c ++和setenv来设置一个变量,如下所示:

setenv("TEST", "$HOME/test", 1);
char* val = getenv("TEST");
printf("TEST=%s", val);

我得到的输出是"TEST=$HOME/test"。但是我希望输出类似于"TEST=/home/toboxos/test"。我使用linux手册什么也没找到。是否有任何解决环境变量的函数,或者我必须自己完成?

您期望的这种替换是 shell 的一个功能,它不是环境固有的。

您需要getenv("HOME")自己,将其与"/test"连接起来,并将结果用作setenv的输入。