Namespaces
Variants

std::getenv

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support de types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
Défini dans l'en-tête <cstdlib>
char* getenv( const char* env_var );

Recherche la liste d'environnement fournie par l'environnement hôte (le système d'exploitation), pour une chaîne qui correspond à la chaîne C pointée par env_var et retourne un pointeur vers la chaîne C qui est associée au membre de la liste d'environnement correspondant.

Cette fonction n'est pas nécessairement thread-safe. Un autre appel à getenv, ainsi qu'un appel aux fonctions POSIX setenv(), unsetenv(), et putenv() peut invalider le pointeur retourné par un appel précédent ou modifier la chaîne obtenue lors d'un appel précédent.

(jusqu'à C++11)

Cette fonction est thread-safe (l'appeler depuis plusieurs threads n'introduit pas de course aux données) tant qu'aucune autre fonction ne modifie l'environnement hôte. En particulier, les fonctions POSIX setenv(), unsetenv(), et putenv() introduiraient une course aux données si elles étaient appelées sans synchronisation.

(depuis C++11)

Modifier la chaîne retournée par getenv entraîne un comportement indéfini.

Paramètres

env_var - chaîne de caractères terminée par un caractère nul identifiant le nom de la variable d'environnement à rechercher

Valeur de retour

Chaîne de caractères identifiant la valeur de la variable d'environnement ou pointeur nul si une telle variable n'est pas trouvée.

Notes

Sur les systèmes POSIX, les variables d'environnement sont également accessibles via la variable globale environ , déclarée comme extern char ** environ ; dans <unistd.h> , et via le troisième argument optionnel, envp , de la fonction main .

Exemple

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

Sortie possible :

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

Voir aussi

Documentation C pour getenv