Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1033 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Copier un fichier en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copier un fichier en C

n°1017941
chour
AMD addicted
Posté le 18-03-2005 à 20:21:44  profilanswer
 

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 !!

mood
Publicité
Posté le 18-03-2005 à 20:21:44  profilanswer
 

n°1017984
chrisbk
-
Posté le 18-03-2005 à 21:03:02  profilanswer
 

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
n°1017985
Taz
bisounours-codeur
Posté le 18-03-2005 à 21:05:32  profilanswer
 

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

n°1017986
WhatDe
Posté le 18-03-2005 à 21:07:07  profilanswer
 

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]
n°1017987
chrisbk
-
Posté le 18-03-2005 à 21:07:09  profilanswer
 

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


---------------
NP: HTTP Error 764 Stupid coder found
n°1017989
chrisbk
-
Posté le 18-03-2005 à 21:07:43  profilanswer
 

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
n°1017991
chrisbk
-
Posté le 18-03-2005 à 21:08:21  profilanswer
 

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
n°1018613
chour
AMD addicted
Posté le 19-03-2005 à 20:52:23  profilanswer
 

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!

n°1018962
ToxicAveng​er
Posté le 20-03-2005 à 14:02:08  profilanswer
 

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]

n°1019020
Emmanuel D​elahaye
C is a sharp tool
Posté le 20-03-2005 à 15:26:15  profilanswer
 

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/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Copier un fichier en C

 

Sujets relatifs
Comment lire un fichier aps...??Lire un fichier PDF
modifier des données dans un fichier de données en perl?c fichier
ne pas ouvrir un fichier doc dans iefichier en lecture/ecriture
transformer un fichier de données en tableau[PHP] envoie fichier pb
tranfert de fichier vers client partir d'une page JSPEcrire dans un fichier
Plus de sujets relatifs à : Copier un fichier en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR