-1
我想setenv一个新的environement变量setenv()。我可以使用envp setenv()吗?
但我noticided是SETENV()函数来设置我的新environement变量只有当我使用environement“外部字符** ENVIRON”
但我想使用的main()的说法:“字符* * 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);
}
所以,我必须重新编码setenv(),如果我想使用envp,对不对? – Difender
编号'envp'是'main'中的一个*局部变量*,外部函数根本无法修改它。使用'extern char ** environ;'。或者,如果你坚持使用'envp'变量,只需在'setenv'调用之后的'main'中写入'envp = environ;'即可。 –