Impression de toutes les variables d'environnement en C / C++
Comment puis-je obtenir la liste de toutes les variables d'environnement en C et/ou C++?
Je sais que getenv
peut être utilisé pour lire une variable d'environnement, mais comment je fais la liste de tous?
- comment au sujet de l'appel de l'env à l'aide du système(env)?
Vous devez vous connecter pour publier un commentaire.
Les variables d'environnement sont mis à la disposition
main()
comme leenvp
argument - une valeur null tableau de chaînes de caractères:/usr/bin/env
Je pense que vous devriez vérifier
environ
. L'utilisation de "l'homme environ".Votre compilateur peut fournir les extensions non standard à la fonction principale qui donne plus de variable d'environnement de l'information. Le MS compilateur et la plupart des saveurs de Unix ont cette version de principal:
où le troisième paramètre est la variable d'environnement de l'information - utiliser un débogueur pour voir ce que le format est probablement une valeur null liste de pointeurs de chaîne.
Dans la plupart des environnements, vous pouvez déclarer vos principales comme:
envp contient toutes les chaînes d'environnement.
http://msdn.microsoft.com/en-us/library/ms683187%28VS.85%29.aspx
EDIT: ne fonctionne que sur windows.
Si vous êtes en cours d'exécution sur un système d'exploitation Windows, alors vous pouvez aussi appeler
GetEnvironmentStrings()
qui renvoie un bloc de null chaînes.