putenv - изменение или расширение окружения
int putenv (string) char *string;
Аргумент string указывает на цепочку символов вида имя=значение. Функция putenv используется для присвоения переменной окружения имя заданного значения, при этом изменяется существующая переменная или создается новая. В любом случае цепочка, указанная аргументом string, становится частью окружения; таким образом, изменение этой цепочки приводит к изменению окружения.
Область памяти, на которую указывает string, становится ненужной после нового обращения к putenv с тем же именем.
, , , .
Функция putenv возвращает ненулевое значение, если попытка получить дополнительное пространство памяти [посредством ] для расширенного окружения окончилась неудачей. Иначе возвращается ноль.
Функция putenv работает с окружением, указанным с помощью environ, и может быть использована вместе с функцией getenv. Однако envp (третий аргумент main) не изменяется.
При расширении окружения используется функция .
После вызова функции putenv алфавитная упорядоченность переменных окружения вообще говоря, нарушается.
Потенциальной ошибкой является вызов putenv с автоматической переменной в качестве аргумента, и последующий выход из вызывающей функции в то время, когда string еще является частью окружения.