std::getenv — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
||
Ищет в списке переменных среды, предоставленном хост-средой (ОС), строку, совпадающую со строкой 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