setenv()

Создать или изменить переменную окружения

Прототип:

#include <stdlib.h>
int setenv( const char *name,
const char *value,
int overwrite );

Аргументы:

name
The name of the environment variable that you want to set.
value
NULL, or the value for the environment variable.
overwrite
A nonzero value if you want the function to overwrite the variable if it exists, or 0 if you don't want to overwrite the variable.

Библиотека:

libc

Описание:

The setenv() function sets the environment variable name to value. If name doesn't exist in the environment, it's created; if name exists and overwrite is nonzero, the variable's old value is overwritten with value; otherwise, it isn't changed.


Caution: This function doesn't free any memory. If you want to change the value of an existing environment variable, you should use putenv() instead.

Copies of the specified name and value are placed in the environment.

If value is NULL, the environment variable specified by name is removed from the environment.


Note: The value of the global environ pointer could be changed by a call to the setenv() function.

Environment variable names are case-sensitive.

Возвращаемое значение:

0
Успешное завершение.
≠0
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

ENOMEM
Not enough memory to allocate a new environment variable.

Примеры:

Change the string assigned to INCLUDE and then display the new string:

#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

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Предостережения:

The setenv() function manipulates the environment pointed to by the global environ variable.

Тематические ссылки:

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 системной библиотеки