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
|