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>
, и через необязательный третий аргумент,
envp
, в
функции main
.
Пример
#include <cstdlib> #include <iostream> int main() { if (const char* env_p = std::getenv("PATH")) std::cout << "Your PATH is: " << env_p << '\n'; }
Возможный вывод:
Your PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Смотрите также
|
C documentation
для
getenv
|