Espacios de nombres
Variantes
Acciones

std::getenv

De cppreference.com
< cpp‎ | utility‎ | program
 
 
Biblioteca de servicios
 
Servicios de apoyo de programa
Terminación del programa
(C++11)
(C++11)
Comunicación con el entorno
getenv
Señales
Tipos de señales
Saltos no locales
Tipos
 
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 getenv, así como una llamada a las funciones POSIX setenv(), unsetenv(), y putenv() pueden invalidar el puntero devuelto por una llamada previa o modificar la cadena obtenida de una llamada previa.

(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