CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
putenv
putenv
Функция Добавляет строку символов в текущее описание
среды.
Синтаксис #include<stdlib.h>
int putenv(const char *name);
Файл, содержащий stdlib.h
прототип
Описание putenv получает строку name и добавляет ее к
описанию среды текущего процесса. Например:
putenv("PATH=C:\\TC");
putenv можно также использовать для модификации
или удаления уже существующих переменных среды
текущего процесса. Для удаления надо просто
добавить пустую переменную (к примеру "MYVAR=").
putenv изменяет среду только текущего процесса.
При завершении процесса восстанавливается исходная
среда.
Замечание. Строка, передоваемая putenv должна быть
глобальной или статической. В случае, если строка
была локальной или динамической, то освобождение
памяти приведет к непредсказуемому результату.
Возвращаемое При успешном завершении putenv возвращает 0, при
значение ошибке -1.
Переносимость putenv доступна в системах UNIX.
Смотрите также getenv.
Пример:
#include<stdio.h>
#include<stdlib.h>
#include<alloc.h>
#include<string.h>
#include<dos.h>
int main(void)
{
char *path, *ptr;
int i=0;
/* получить значение переменной среды PATH */
ptr = getenv("PATH");
/* создать новое значение */
path = malloc(strlen(ptr)+15);
strcpy(path,"PATH=");
strcat(path,ptr);
strcat(path,";c:\\temp");
/* занести его в переменную */
putenv(path);
while(environ[i])
printf("%s\n",environ[i++]);
return 0;
}
