Namespaces
Variants

std::getenv

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
Определён в заголовке <cstdlib>
char* getenv( const char* env_var );

Ищет в списке переменных окружения, предоставленном хост-средой (ОС), строку, совпадающую со строкой C, на которую указывает env_var, и возвращает указатель на строку C, связанную с найденным элементом списка окружения.

Эта функция не обязана быть потокобезопасной. Другой вызов getenv, а также вызов функций POSIX setenv(), unsetenv() и putenv() может сделать недействительным указатель, возвращённый предыдущим вызовом, или изменить строку, полученную из предыдущего вызова.

(до C++11)

Эта функция потокобезопасна (вызов из нескольких потоков не приводит к состоянию гонки) при условии, что никакая другая функция не изменяет хост-среду. В частности, функции POSIX setenv(), unsetenv() и putenv() привели бы к состоянию гонки, если бы были вызваны без синхронизации.

(начиная с 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