Namespaces
Variants

std::getenv

De es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de biblioteca (C++20)
Utilidades del programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación a tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
Definido en el encabezado <cstdlib>
char* getenv( const char* env_var );

Busca en la lista de entorno proporcionada por el entorno anfitrión (el SO), una cadena que coincida con la cadena C apuntada por env_var y devuelve un puntero a la cadena C que está asociada con el miembro de la lista de entorno que coincide.

No se requiere que esta función sea segura para hilos. Otra llamada a getenv, así como una llamada a las funciones POSIX setenv(), unsetenv() y putenv() puede invalidar el puntero devuelto por una llamada anterior o modificar la cadena obtenida de una llamada anterior.

(hasta C++11)

Esta función es segura para hilos (llamarla desde múltiples hilos no introduce una condición de carrera de datos) siempre que ninguna otra función modifique el entorno anfitrión. En particular, las funciones POSIX setenv(), unsetenv() y putenv() introducirían una condición de 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 ambiental a buscar

Valor de retorno

Cadena de caracteres que identifica el valor de la variable de entorno o puntero nulo si dicha variable no se encuentra.

Notas

En sistemas POSIX, las variables de entorno también son accesibles mediante la variable global environ , declarada como extern char ** environ ; en <unistd.h> , y mediante el tercer argumento opcional, envp , de la función main .

Ejemplo

#include <cstdlib>
#include <iostream>
int main()
{
    if (const char* env_p = std::getenv("PATH"))
        std::cout << "Your PATH is: " << env_p << '\n';
}

Salida posible:

Your PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Véase también