我正在尝试使用 setenv() 设置一个新的环境变量。
但我注意到 setenv() 函数只有在我使用环境“extern char **environ”时才会设置我的新环境变量
但我想使用 main() 的参数:“char **envp”。
这是我尝试在 envp 中设置的代码,但是正如您将看到的,如果您运行该代码,它将不会在 envp 中设置。
但是,如果我使用 const char **environ 它可以工作。
有任何想法吗 ?
#include <stdlib.h>
#include <stdio.h>
int main(int ac, char **av, char **envp)
{
int i;
i = 0;
setenv("NEW_ENV_VAR", "hello_world", 0);
while (envp[i])
printf("%s\n", envp[i++]);
return (0);
}