Cath env(p) inside a routine/module

Le
Pim
Hi all.
I want to get my environment, but inside a function that receive no
parameters from any call from the main function.

i mean some code that could catch environment other than access
to envp.

if this is possible of course.

I thank you very much.

Pim.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Benoit Izac
Le #22248751
Bonjour,

le 12/06/2010 à 19:49, Pim a écrit dans le message

I want to get my environment, but inside a function that receive no
parameters from any call from the main function.

i mean some code that could catch environment other than access
to envp.

... if this is possible of course.



Pas sûr d'avoir bien compris...

#include
int
main(void)
{
extern char **environ;
int i;

for (i = 0; environ[i]; i++)
printf("%sn", environ[i]);

return 0;
}

Sinon regarde du coté de getenv(3).
--
Benoit Izac
Pim
Le #22248991
Le Sat, 12 Jun 2010 20:04:06 +0200,
Benoit Izac
Bonjour,

le 12/06/2010 à 19:49, Pim a écrit dans le message

I want to get my environment, but inside a function that receive no
parameters from any call from the main function.

i mean some code that could catch environment other than access
to envp.

... if this is possible of course.



Pas sûr d'avoir bien compris...

#include
int
main(void)
{
extern char **environ;
int i;

for (i = 0; environ[i]; i++)
printf("%sn", environ[i]);

return 0;
}

Sinon regarde du coté de getenv(3).
--
Benoit Izac



Bonjour et merci de me répondre.
En fait, je devais le poster sur le newgroup du C en anglais : 'comp.lang.c',
et me suis trompé de ng.

Dans l'exemple que tu me met .
**environ définit ou en externe?
ça fait partie de stdio.h?
je veux dire dans la libc?
bon je vais essayer ton code .
Si c'est le cas c'est ce qu'il me faut.
Sinon, il faut m'éclairer plus...

merçi.
Benoit Izac
Le #22249091
Bonjour,

le 12/06/2010 à 21:44, Pim a écrit dans le message

I want to get my environment, but inside a function that receive no
parameters from any call from the main function.

i mean some code that could catch environment other than access
to envp.

... if this is possible of course.



Pas sûr d'avoir bien compris...

#include
int
main(void)
{
extern char **environ;
int i;

for (i = 0; environ[i]; i++)
printf("%sn", environ[i]);

return 0;
}

Sinon regarde du coté de getenv(3).



Dans l'exemple que tu me met .
**environ définit ou en externe?
ça fait partie de stdio.h?
je veux dire dans la libc?



En fait, lorsque j'ai vu tes entêtes (slrn), j'ai pensé que tu cherchais
quelque chose pour Unix. Dans ce cas, environ est définit par POSIX.
environ est initialisé lorsque tu rentres dans main() comme argc et
argv.

En revanche en C standard, il n'y a que getenv() définit dans stdlib.h
mais dans ce cas tu es obligé d'avoir un argument ce qui est en
contradiction avec ta demande initiale.

--
Benoit Izac
Pim
Le #22249301
Le Sat, 12 Jun 2010 22:17:00 +0200,
Benoit Izac
Bonjour,

le 12/06/2010 à 21:44, Pim a écrit dans le message

I want to get my environment, but inside a function that receive no
parameters from any call from the main function.

i mean some code that could catch environment other than access
to envp.

... if this is possible of course.



Pas sûr d'avoir bien compris...

#include
int
main(void)
{
extern char **environ;
int i;

for (i = 0; environ[i]; i++)
printf("%sn", environ[i]);

return 0;
}

Sinon regarde du coté de getenv(3).



Dans l'exemple que tu me met .
**environ définit ou en externe?
ça fait partie de stdio.h?
je veux dire dans la libc?



En fait, lorsque j'ai vu tes entêtes (slrn), j'ai pensé que tu cherchais
quelque chose pour Unix. Dans ce cas, environ est définit par POSIX.
environ est initialisé lorsque tu rentres dans main() comme argc et
argv.

En revanche en C standard, il n'y a que getenv() définit dans stdlib.h
mais dans ce cas tu es obligé d'avoir un argument ce qui est en
contradiction avec ta demande initiale.



En effet je suis sous Linux Debian.
Donc je m'en suis sorti avec **environ qui
satisfait pleinement pour l'instant.

Je n'ai pas (encore) vu gentenv...
Merçi pour ton aide en tout cas.

--
Benoit Izac
Publicité
Poster une réponse
Anonyme