[c] comment cpier un repertoire

comment cpier un repertoire [c] - Programmation

Marsh Posté le 17-11-2001 à 19:48:55    

comment faire un copie de repertoire avec tt ce qu'il y a dedans d'un chemin a un autre (en C)


---------------
email : otb82@hotmail.com
Reply

Marsh Posté le 17-11-2001 à 19:48:55   

Reply

Marsh Posté le 17-11-2001 à 19:54:30    

precise sur quel OS.

Reply

Marsh Posté le 17-11-2001 à 19:55:25    

trictrac a écrit a écrit :

precise sur quel OS.  




sous nunux (mandrake 8.1)


---------------
email : otb82@hotmail.com
Reply

Marsh Posté le 17-11-2001 à 23:17:52    

Un appel système qui exécuterait la commande "cp" par exemple.

Reply

Marsh Posté le 18-11-2001 à 01:58:23    

Fork a écrit a écrit :

Un appel système qui exécuterait la commande "cp" par exemple.  




 
pour les violents ya  
system("cp rep new_rep" );
sinon
execvp ou un des exec*...  
la fo lire les mans je connais plus arguments

Reply

Marsh Posté le 18-11-2001 à 14:05:14    

Ce serait plutôt l'inverse, justement ! System permet de reprendre la main lorsque l'instruction lancée est terminée, alors que les execl sont des fonctions de recouvrement : le programme qui lance execl est purement et simplement remplacer par le programme lancer, il n'y a donc jamais moyen de reprendre la main...(ou alors, il faut avoir fait un fork avant !  :hello: )

Reply

Marsh Posté le 18-11-2001 à 17:29:24    

Sinon tu peux faire tout "à la main" : tu recupere les noms de fichier de ton repertoire (man scandir pour en savoir plus), tu crée le nouveau repertoire, et tu ouvre un par un les fichiers d'origine dont tu recopie le contenu dans leur équivalent dans le nouveau repertoire.
Enfin je dis ca, mais vu que cp existe je vois pas pourquoi se prendre la tete (ct juste pour causer).


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 18-11-2001 à 19:51:18    

Fork a écrit a écrit :

Ce serait plutôt l'inverse, justement ! System permet de reprendre la main lorsque l'instruction lancée est terminée, alors que les execl sont des fonctions de recouvrement : le programme qui lance execl est purement et simplement remplacer par le programme lancer, il n'y a donc jamais moyen de reprendre la main...(ou alors, il faut avoir fait un fork avant !  :hello: )  




 
Ouais c vrai... on va dire que le fork était implicite  :)

Reply

Sujets relatifs:

Leave a Replay

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