[C++] Parcours de fichiers dans un répertoire
Fermé
Fom
-
22 mai 2005 à 19:20
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 - 22 mai 2005 à 21:33
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 - 22 mai 2005 à 21:33
A voir également:
- [C++] Parcours de fichiers dans un répertoire
- Wetransfer gratuit fichiers lourd - Guide
- Comment réduire la taille d'un fichier - Guide
- Explorateur de fichiers - Guide
- Comment ouvrir un fichier epub ? - Guide
- Renommer plusieurs fichiers - Guide
1 réponse
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
22 mai 2005 à 21:33
22 mai 2005 à 21:33
salut,
voilà une fonction qui copie un repertoire et toute son arborescence
fichiers compris vers un autre répertoire,
comme la commande msdos xcopy, mais c'est une vieille histoire
avec quelques retouches ce qui suit devrait t'être utile
cordialement
voilà une fonction qui copie un repertoire et toute son arborescence
fichiers compris vers un autre répertoire,
comme la commande msdos xcopy, mais c'est une vieille histoire
avec quelques retouches ce qui suit devrait t'être utile
cordialement
#include <stdio.h> #include <dir.h> void copydir(char *repsource, char *repcible); void copyfile(char *Fsource,char *Fcible); void copydir(char *repsource, char *repcible) { char nomfic[256],search[256]; char fichiersource[256],fichiercible[256]; struct ffblk ffblk; strcpy(search,repsource); strcat(search,"\\*"); int done; int nbfic=0; while (true) { if(!nbfic) {done = findfirst(search,&ffblk,FA_RDONLY + FA_DIREC);} else {done = findnext(&ffblk);} if (done) break; strcpy(nomfic,ffblk.ff_name); strcpy (fichiersource,repsource); strcat (fichiersource,"\\"); strcat (fichiersource,nomfic); strcpy (fichiercible,repcible); strcat (fichiercible,"\\"); strcat (fichiercible,nomfic); if(ffblk.ff_attrib & FA_DIREC) { int i; for(i=strlen(fichiersource);i>0 && fichiersource[i]!='\\';--i); if(fichiersource[i+1]!='.') // ne pas copier les dosiers parents { mkdir(fichiercible); copydir(fichiersource,fichiercible); // recursif pour sous repertoires } } else { copyfile(fichiersource,fichiercible); } nbfic++; } } // copier un fichier et choisir de le renomer void copyfile(char *Fsource,char *Fcible) { FILE *source, *cible; source =fopen(Fsource,"rb"); cible =fopen(Fcible,"wb"); while(true) { register c=fgetc(source); if(feof(source))break; fputc(c,cible); } fclose(cible); fclose(source); }