[C] Détails sur l'utilisation de execle
Résolu
Lum
-
Lum -
Lum -
Bonjour,
J'ai quelques problèmes avec l'utilisation de execle.
Je souhaite passer une chaîne de caractère en argument (environnement) de la fonction execle.
Jusqu'ici à priori tout est OK :
Mais comment je fais pour récupérer "Mon texte" dans prog ?
J'ai vu que je devais utiliser la fonction getenv(char *) mais je ne sais pas quoi mettre en argument !
Quelqu'un à une idée ?
J'ai quelques problèmes avec l'utilisation de execle.
Je souhaite passer une chaîne de caractère en argument (environnement) de la fonction execle.
Jusqu'ici à priori tout est OK :
char texte[] = "Mon texte";
int main(){
char *env[2] = {texte,NULL};
execle("prog","prog",(char *)NULL,env);
}
Mais comment je fais pour récupérer "Mon texte" dans prog ?
J'ai vu que je devais utiliser la fonction getenv(char *) mais je ne sais pas quoi mettre en argument !
Quelqu'un à une idée ?
Configuration: Linux Firefox 3.0.10
6 réponses
-
Salut,
Voici un petit exemple que je t'ai fait vite fait :
main.c#include <stdio.h> #include <unistd.h> extern char **environ; int main(void) { char texte[]="Mon texte"; setenv("mLOGIN","Lum",0); execle("prog",NULL,environ); puts("problème d'exécution du fichier\n",stderr); return 0; }
prog.c#include <stdio.h> #include <stdlib.h> int main(void) { char *p=getenv("mLOGIN"); if(p) puts(p); else fputs("erreur d'environnement\n",stderr); return 0; }
Bien sûr, prog.c doit être compilé et nommé en prog
De même pour main.c qui doit être compilé, et c'est lui l'exécutable.
Si t'as des questions, n'hésite pas. -
-
Salut,
Tu souhaites le récupérer en arguments ou en environnement car ce n'est pas la même chose ? -
Fiddy mon sauver ;) tu m'as déjà éclairé dans mon précédent post : je sens que tu vas recommencer :D
Je souhaite récupérer en environnement, la variable qui contient "Mon texte". -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Pour une fois google n'est pas mon amis... Le web pulule de copie du man execle, mais aucune explication sur comment récupérer cet environnement. Je désespère.
-
Fantastique, sa marche :D.
Mais j'avais pour but de faire passer le texte "Mon texte" comme variable d'environnement, pas Lum ^^. Pas bien grave ceci dit. J'ai juste changé ce que je voulais !