Я пытаюсь понять, как работает setenv (). Документация:
setenv (const char *name, const char *value, int overwrite)
Я хочу иметь возможность редактировать массив переменных среды. Например, я хочу установить
envp[1] = "Hello World"
Я смущен функцией setenv, хотя и не уверен, как реализовать в этой функции. Будет ли перезаписан индекс массива среды. Повлияет ли это на печать всех подобных сред?
#include <stdio.h>
void main(int argc, char *argv[], char * envp[])
{
int i;
for (i = 0; envp[i] != NULL; i++)
{
printf("\n%s", envp[i]);
}
}
Таким образом, вместо того, что обычно было бы в envp [1], оно изменено на «Hello World». Я также не уверен, что перезапись, установленная на 1, означает envp [1].