Создать или изменить переменную окружения
#include <stdlib.h>int setenv( const char *name,const char *value,int overwrite );
NULL
или значение переменной окружения.0
запрещает перезапись.libc
Функция setenv() устанавливает переменную окружения name в значение value. Если переменная не существует, то она создается; если name существует и overwrite ненулевое, старое значение будет перезаписано значением value.
Эта функция не освобождает память. Если надо изменить значение существующей переменной окружения, следует использовать putenv(). |
Копии указанного имени и значения value переносяться в окружение.
Если значение value равно NULL
, переменная окружения name удаляется из окружения.
Значение глобального указателя environ может быть изменено при вызове функции setenv(). |
Имена переменных окружения чувствительны к регистру.
Изменение строки, ассоциированной с переменной окружения INCLUDE
, и её вывод:
#include <stdio.h>#include <stdlib.h>int main( void ){char *path;if ( setenv( "INCLUDE", "/usr/nto/include:/home/fred/include", 1 ) == 0 ){if ( (path = getenv( "INCLUDE" )) != NULL ){printf( "INCLUDE=%s\n", path );}}return (EXIT_SUCCESS);}
POSIX 1003.1
Функция setenv() управляет окружением, на которое указывает глобальная переменная environ.
clearenv(), errno, execl(), execle(), execlp(), execlpe(), execv(), execve(), execvp(), execvpe(), getenv(), putenv(), searchenv(), spawn(), spawnl(), spawnle(), spawnlp(), spawnlpe(), spawnp(), spawnv(), spawnve(), spawnvp(), spawnvpe(), system(), unsetenv()
Предыдущий раздел: Описание API системной библиотеки