std::getenv
| Defined in header <cstdlib>
|
||
char* getenv( const char* env_var );
|
||
호스트 환경(운영 체제)이 제공하는 환경 리스트를 검색하여 env_var이 가리키는 C 문자열과 일치하는 문자열을 찾고, 일치하는 환경 리스트 멤버와 연결된 C 문자열을 가리키는 포인터를 반환합니다.
|
이 함수는 스레드 안전성이 요구되지 않습니다. |
(C++11까지) |
|
이 함수는 스레드 안전합니다(여러 스레드에서 호출해도 데이터 경합이 발생하지 않음). 단, 다른 함수가 호스트 환경을 수정하지 않는 경우에 한합니다. 특히, POSIX 함수 |
(C++11부터) |
getenv가 반환한 문자열을 수정하는 것은 정의되지 않은 동작을 유발합니다.
매개변수
| env_var | - | 검색할 환경 변수의 이름을 식별하는 null로 종료된 문자열 |
반환값
환경 변수의 값을 식별하는 문자열 또는 해당 변수를 찾을 수 없는 경우 null 포인터입니다.
참고 사항
POSIX 시스템에서
환경 변수
는 전역 변수
environ
를 통해서도 접근할 수 있으며, 이는
extern
char
**
environ
;
로 선언되어
<unistd.h>
에 정의되어 있습니다. 또한
main 함수
의 선택적 세 번째 인수인
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 documentation
for
getenv
|