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); }