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 для getenv |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/program/getenv