std::getenv
Defined in header <cstdlib> | ||
char* getenv(constchar* env_var ); | ||
Searches the environment list provided by the host environment (the OS), for a string that matches the C string pointed to by env_var
and returns a pointer to the C string that is associated with the matched environment list member.
This function is not required to be thread-safe. Another call to | (until C++11) |
This function is thread-safe (calling it from multiple threads does not introduce a data race) as long as no other function modifies the host environment. In particular, the POSIX functions | (since C++11) |
Modifying the string returned by getenv
invokes undefined behavior.
Contents |
[edit]Parameters
env_var | - | null-terminated character string identifying the name of the environmental variable to look for |
[edit]Return value
Character string identifying the value of the environmental variable or null pointer if such variable is not found.
[edit]Notes
On POSIX systems, the environment variables are also accessible through the global variable environ
, declared as externchar** environ; in <unistd.h>, and through the optional third argument, envp
, of the main function.
[edit]Example
#include <cstdlib>#include <iostream> int main(){if(constchar* env_p = std::getenv("PATH"))std::cout<<"Your PATH is: "<< env_p <<'\n';}
Possible output:
Your PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
[edit]See also
C documentation for getenv |