std::getenv
| Definido en el archivo de encabezado <cstdlib>
|
||
char* getenv( const char* env_var ); |
||
Busca la lista de entorno proporcionada por el entorno anfitrión (el sistema operativo), por una cadena que coincide con la cadena de C apuntada por env_var y devuelve un puntero a la cadena de C asociada con el miembro de la lista de entorno coincidida.
|
No se requiere que esta función sea segura contra hilos. Otras llamadas a |
(hasta C++11) |
|
Esta función es segura contra hilos (llamarla desde varios hilos no introduce una carrera de datos) siempre y cuando ninguna función modifique el entorno anfitrión. En particular, las funciones POSIX setenv(), unsetenv(), y putenv() introducirían una carrera de datos si se llamaran sin sincronización. |
(desde C++11) |
Modificar la cadena devuelta por getenv invoca comportamiento indefinido.
Parámetros
| env_var | - | Cadena de caracteres terminada en nulo que identifica el nombre de la variable de entorno a buscar. |
Valor de retorno
Cadena de caracteres que identifica el valor de la variable de entorno o un puntero nulo si dicha variable no se encuentra.
Notas
En sistemas POSIX, las variables de entorno también pueden accederse mediante la variable global environ, declarada como extern char **environ; en <unistd.h>, y mediante un tercer argumento opcional, envp, de la función main.
Ejemplo
#include <iostream>
#include <cstdlib>
int main()
{
if(const char* env_p = std::getenv("PATH"))
std::cout << "Tu PATH es: " << env_p << '\n';
}
Posible salida:
Tu PATH es: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Véase también
Documentación de C para getenv
|