CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
putenv
PUTENV
#include <stdlib.h> требуется только для
объявления функции
int putenv(envstring); объявление строки
char *envstring; окружения
Описание.
Функция putenv добавляет новые переменные окружения или мо-
дифицирует значения существующих переменных окружения.
Переменные окружения определяют окружение, в котором выпол-
няется процесс (например, поиск по умолчанию path для библиотек,
линкуемых вместе с программой).
Аргумент envstring должен быть указателем на строку в сле-
дующей форме:
varname = string,
где varname - имя добавляемой или модифицируемой переменной
окружения и string - значение этой переменной. Если varname уже
является частью окружения, она заменяет существующую строку
string, иначе - к окружению добавляется новая строка string. Зна-
чение переменной может быть установлено пустым, если string пус-
тая.
Указатель на вход (запись) окружения не освобождается до
тех пор, пока вход (запись) окружения остается неизменным при ис-
пользовании или пока переменная окружения не будет указывать на
освобожденное пространство. Аналогичная проблема может возник-
нуть, если передается указатель на локальную переменную для функ-
ции putenv, а затем происходит выход на функцию, в которой объ-
явлена переменная.
Возвращаемое значение.
Функция putenv возвращает 0, если она успешно отработала.
Возвращаемое значение -1 указывает на ошибку.
См. также getenv.
Замечание: Функции getenv и putenv используют глобальную
переменную environ для доступа к таблице переменных окружения.
Функция putenv может изменять значение environ, делая недействи-
тельным аргумент "envp" для функции "main".
Пример:
#include<stdlib.h>
#include<stdio.h>
#include<process.h>
/* попытка изменения переменной окружения */
if (putenv("PATH=a:\\bin;b:\\tmp") == -1)
{ printf("putenv failed -- out of memory");
exit(1);
}
