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 главной функции.
Пример
#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 для getenv |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/program/getenv