Putenv/setenv/getenv
Nieli
Messages postés
85
Statut
Membre
-
Nieli Messages postés 85 Statut Membre -
Nieli Messages postés 85 Statut Membre -
Bonjour,
Je viens de remarquer que setenv n'était pas POSIX et je voudrais donc utiliser putenv.
J'ai donc reproduit une fonction ou il y a exactement le code à l'interieur de ce main :
http://www.lsv.ens-cachan.fr/~parrenne/Cours/code/td2_putenv.c
dans la fonction, quand je fais des getenv la variable et bonne mais quand j'en sors et que je fais un getenv, elle n'existe plus.
Voila si vous pouvez m'aider.. :/
Merci d'avance.
Niel.
Je viens de remarquer que setenv n'était pas POSIX et je voudrais donc utiliser putenv.
J'ai donc reproduit une fonction ou il y a exactement le code à l'interieur de ce main :
http://www.lsv.ens-cachan.fr/~parrenne/Cours/code/td2_putenv.c
dans la fonction, quand je fais des getenv la variable et bonne mais quand j'en sors et que je fais un getenv, elle n'existe plus.
Voila si vous pouvez m'aider.. :/
Merci d'avance.
Niel.
2 réponses
Erreur classique tant que l'on n'a pas compris ce qui se passe.
Oui, c'est normal de ne pas retrouver la variable.
En effet, lorsque l'on lance un programme, on crée un nouveau processus (fils) qui reçoit (du père) une copie de certains paramètres dont les variables d'environnement; le fils peut faire ce qu'il veut (modifier, créer, supprimer) de ses variables et en aucun cas le processus qui l'a crée (le père) ne le saura car le fils n'effectue ses modifications que sur une copie.
Oui, c'est normal de ne pas retrouver la variable.
En effet, lorsque l'on lance un programme, on crée un nouveau processus (fils) qui reçoit (du père) une copie de certains paramètres dont les variables d'environnement; le fils peut faire ce qu'il veut (modifier, créer, supprimer) de ses variables et en aucun cas le processus qui l'a crée (le père) ne le saura car le fils n'effectue ses modifications que sur une copie.