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.
Contenido |
[editar] Parámetros
env_var | - | Cadena de caracteres terminada en nulo que identifica el nombre de la variable de entorno a buscar. |
[editar] 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.
[editar] 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
.
[editar] 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
[editar] Véase también
Documentación de C para getenv
|