Probleme avec la fonction system() - C - Programmation
Marsh Posté le 10-01-2007 à 20:41:36
1/ Pourquoi lancer ces exécutions via un programme C ? N'y a-t-il aucune autre solution ?
2/ Si pas d'autre solution, soit tu regroupes ces commandes dans un batch que tu lances avec system(), soit tu lances tout ça avec un seul system().
Marsh Posté le 10-01-2007 à 20:48:19
Et ca donnerai quoi avec un seul system ?
J'ai essayé mais j'ai pas réussi à trouver la synthaxe.
Code :
|
Marsh Posté le 10-01-2007 à 23:29:10
Absyn7he a écrit : Le problème vient du fait que j'ai l'impression que mon bousin execute les commandes dans 2 fenetres dos séparées ce qui fait la variable PATH initialisée dans le gtkpath.bat n'est pas "visible" par la deuxieme commande. |
Exactement - Les deux commandes ne se passent pas dans le même processus et le second n'a pas accès aux variables du premier
Absyn7he a écrit : Et ca donnerai quoi avec un seul system ?
|
Ptet ça:
Code :
|
Marsh Posté le 11-01-2007 à 13:26:52
Absyn7he a écrit : Le problème vient du fait que j'ai l'impression que mon bousin execute les commandes dans 2 fenetres dos séparées ce qui fait la variable PATH initialisée dans le gtkpath.bat n'est pas "visible" par la deuxieme commande. |
Normal. Quand tu fais 'system(), tu crées un processus fils dans lequel la variable est créée, mais quand le processus se termine, cette variable est détruite. Le processus père est inchangé.
Si tu veux faire un programme en C il faut écrire le code de A à Z, et ne pas chercher à modifier des variables d'environnement (elle ne peuvent qu'être lues en C standard, pour les raisons invoquées ci-dessus).
Marsh Posté le 10-01-2007 à 20:25:46
Bonjour,
j'aimerai créer un exécutable en C qui me permette de lancer une application php-gtk.
Normalement l'application php-gtk se lance grace a des ligne de commande du genre :
gtkpath étant un fichier .bat dont le contenu est le suivant :
J'ai donc fais en C:
Le problème vient du fait que j'ai l'impression que mon bousin execute les commandes dans 2 fenetres dos séparées ce qui fait la variable PATH initialisée dans le gtkpath.bat n'est pas "visible" par la deuxieme commande.
Auriez vous une solution a ce probleme ?