Copier un fichier dans un autre fichier rapid

seo610 Messages postés 705 Statut Membre -  
seo610 Messages postés 705 Statut Membre -
Bonjour,

J'aimerais un algorithme pour copier un fichier dans un autre fichier en mode binaire rapidement. (en C)
Voici celui que j'ai fait :

char *p = malloc(wavsize*sizeof(char));

fread(p, 1, wavsize, raw);
fwrite(p, 1, wavsize, wav);

--
Buy a ward, stop a gank, save a life.
Wards.

1 réponse

  1. loupius Messages postés 789 Statut Membre 148
     
    En cherchant sur ce forum, tu aurais pu trouver une réponse de Fiddy le 10 Août 2010:
    #include <stdio.h>
    
    int copier_fichier(char const * const source, char const * const destination)
    {
        FILE* fSrc;
        FILE* fDest;
        char buffer[512];
        int NbLus;
        
        if ((fSrc = fopen(source, "rb")) == NULL)
        {
            return 1;
        }
        
        if ((fDest = fopen(destination, "wb")) == NULL)
        {
            fclose(fSrc);
            return 2;
        }
        
        while ((NbLus = fread(buffer, 1, 512, fSrc)) != 0)
            fwrite(buffer, 1, NbLus, fDest);
        
        fclose(fDest);
        fclose(fSrc);
        
        return 0;
    }
    Bonne continuation
    0
    1. seo610 Messages postés 705 Statut Membre 102
       
      okay, t'as pas un lien vers plus d'information sur ce sujet?
      0
    2. seo610 Messages postés 705 Statut Membre 102
       
      je sauve en moyenne 0.0413 s pour un fichier de 6,676,480 bytes (mspaint de windows 7)
      0