std::getenv
Определено в заголовочном файле <cstdlib>
|
||
char* getenv( const char* env_var ); |
||
Ищет в списке переменных среды, предоставленном хост-средой (ОС), строку, совпадающую со строкой C, на которую указывает env_var
, и возвращает указатель на строку C, связанную с совпавшим элементом списка окружения.
Эта функция не гарантирует потокобезопасность. Другой вызов |
(до C++11) |
Эта функция потокобезопасна (вызов её из нескольких потоков не приводит к гонке данных) до тех пор, пока другие функции не изменяют хост-среду. В частности, функции POSIX |
(начиная с C++11) |
Изменение строки, возвращенной getenv
, приводит к неопределённому поведению.
Содержание |
[править] Параметры
env_var | — | символьная строка с завершающим нулём, идентифицирующая имя переменной окружения для поиска |
[править] Возвращаемое значение
Строка символов, идентифицирующая значение переменной окружения или нулевой указатель, если такая переменная не найдена.
[править] Примечание
На POSIX системах переменные среды также доступны с помощью глобальной переменной environ
, определённой как extern char **environ; в <unistd.h>, и через необязательный третий аргумент функции main.
[править] Пример
#include <iostream> #include <cstdlib> int main() { if(const char* env_p = std::getenv("PATH")) std::cout << "Ваша PATH равна: " << env_p << '\n'; }
Возможный вывод:
Ваша PATH равна: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[править] Смотрите также
Документация C по getenv
|