Copier un fichier en C

Copier un fichier en C - C - Programmation

Marsh Posté le 18-03-2005 à 20:21:44    

Bonjour,  
Je souhaite copier un fichier par bloc. J'ai produit ce code la :
 

Code :
  1. int fastcopie (FILE *f1, FILE *f2) {
  2.   char *recup;
  3.   int bloc = 16384, nitems, empl, i;
  4.   long taillefic;
  5.  
  6.   fseek(f1, 0, SEEK_END);
  7.   taillefic = ftell(f1);
  8.   nitems = taillefic / bloc;
  9.   printf("\nTaille fichier : %d\n",taillefic);
  10.   rewind(f1);
  11.   recup = (char*) calloc(nitems * sizeof(char), bloc);
  12.  
  13.   printf("Position apres : %d\n",ftell(f1));
  14.  
  15.   fread(recup, bloc, nitems, f1);
  16.   fwrite(recup, bloc, nitems, f2);
  17.  
  18.   return;
  19. }


 
fic est renseigné, fic2 est vide. Je dois copier fic dans fic2
Rien ne se passe. Mon mai() est ok. Ca compile, s'execute mais pas de résultat.  
Vous voyer l'erreur ? Merci !!

Reply

Marsh Posté le 18-03-2005 à 20:21:44   

Reply

Marsh Posté le 18-03-2005 à 21:03:02    

Code :
  1. void copie(const char *src, const char *dst) {
  2. FILE *in = fopen(src,"rb" );
  3. FILE *out = fopen(dst, "wb" );
  4. char *tmp = malloc(1024);
  5. int rl;
  6. do {
  7.     rl = fread(buffer,1,1024,in);
  8.     fwrite(buffer,1,rl,out);
  9. }while(rl==1024);
  10. fclose(in);
  11. fclose(out);
  12. }


Message édité par chrisbk le 18-03-2005 à 21:03:16

---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 18-03-2005 à 21:05:32    

il est à quoi ce malloc à part faire une fuite ?

Reply

Marsh Posté le 18-03-2005 à 21:07:07    

chrisbk a écrit :

Code :
  1. void copie(const char *src, const char *dst) {
  2. FILE *in = fopen(src,"rb" );
  3. FILE *out = fopen(dst, "wb" );
  4. char *tmp = malloc(1024);
  5. int rl;
  6. do {
  7.     rl = fread(buffer,1,1024,in);
  8.     fwrite(buffer,1,rl,out);
  9. }while(rl==1024);
  10. fclose(in);
  11. fclose(out);
  12. }



Inutile de tester le retour de fwrite ?


---------------
[:whatde]
Reply

Marsh Posté le 18-03-2005 à 21:07:09    

oué j'ai oublié le free, c'est le drame omondieu attends jvais me mordre les couilles


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 18-03-2005 à 21:07:43    

purée les andouilles j'ai taper ca dans le truc de post de hfr, non j'ai pas essayé de compiler, non je test pas tout, ni le retour de fopen ni ot chose, c'etait pour l'idée [:itm]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 18-03-2005 à 21:08:21    

Taz a écrit :

il est à quoi ce malloc à part faire une fuite ?


 
utilise ton ramassis de cerveau, tu trouveras la solution (tips : j'ai fait une erreur qqpart)


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 19-03-2005 à 20:52:23    

Merci je vais aller tester ca !
Pour les tests et ouvertures des fichiers, ca se fait dans le main() pour mon cas. Je fais plancher la dessus et sur le reste de mes question lol.  
merci!

Reply

Marsh Posté le 20-03-2005 à 14:02:08    

chrisbk a écrit :

oué j'ai oublié le free, c'est le drame omondieu attends jvais me mordre les couilles


 
Ca doit faire mal [:zaib3k]

Reply

Marsh Posté le 20-03-2005 à 15:26:15    

ToxicAvenger a écrit :

Ca doit faire mal [:zaib3k]


Surtout au dos! :)


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

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