[C] changer de répertoire en cours d'exécution

changer de répertoire en cours d'exécution [C] - C - Programmation

Marsh Posté le 13-08-2004 à 09:43:58    

Bonjour,  
 
je voudrais être capable de changer de répertoire durant l'exécution d'un programme C.
Il se situe dans /usr/src et voici une partie de son code

Code :
  1. strcpy(commande,"cd $GESFI16" );
  2.   system(commande);
  3.   system("pwd" );
  4. ...


 
Seulement la commande pwd me retourne "/usr/src", donc je n'ai pas changé de répertoire...
Quelqu'un a une idée?
Merci d'avance.
Joe

Reply

Marsh Posté le 13-08-2004 à 09:43:58   

Reply

Marsh Posté le 13-08-2004 à 10:31:05    

man fork
man exec
man chdir

Reply

Marsh Posté le 13-08-2004 à 12:09:00    

Reply

Marsh Posté le 22-08-2004 à 22:56:29    

joedelabush a écrit :

Bonjour,  
 
je voudrais être capable de changer de répertoire durant l'exécution d'un programme C.
Il se situe dans /usr/src et voici une partie de son code

Code :
  1. strcpy(commande,"cd $GESFI16" );
  2.   system(commande);
  3.   system("pwd" );
  4. ...


 
Seulement la commande pwd me retourne "/usr/src", donc je n'ai pas changé de répertoire...
Quelqu'un a une idée?
Merci d'avance.
Joe


 
Dès que tu lances une commande "system", tu crées un sous-processus.
Celui-ci s'exécute dans son espace de travail, puis se termine proprement et tu reviens au programme dont l'environnement de travail n'a pas été modifié par le sous-processus.
Le programme n'a donc pas changé de répertoire !!!
 
Si tu veux changer de répertoire dans l'exécution de ton pgm, tu peux utiliser la fonction "chdir()" et si tu veux récupérer le rép. actuel tu peux utiliser la fonction "getcwd()"


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed