alors, je suis pas un initié mais j'essaye de faire un petit prog simple, un genre de xcopy, j'en suis encore loin, pour le moment j'ai juste fé qqchose de tres basique:
int main(void) {
char *src,*dest; //chaine pour set les chemins de fichier..
FILE *s,*d;//pointeurs sur les fichier pour les fonction f...
src = "H:\\source.mp3";//fichier source
dest = "F:\\Dest.mp3";//fichier de destination
s = fopen(src,"rb");//ouverture des 2 fichiers
d = fopen(dest,"wb");
if (s == NULL || d == NULL) { // verif d'erreur d'ouverture
cout << "Erreur d'ouverture de fichier...";
return 0;
}
else {
char *r; unsigned int t,i = 0;
r = (char*) malloc(1);
while (1) { //boucle pour lire le fichier byte par byte et le copier
i++;
t = GetTickCount();
fread(r,1,1,s);
if (ferror(s)) {
*r = '0';
printf("ReadError... Pos: %u Tps: %u ms\n",i,GetTickCount() - t);
}
fwrite(r,1,1,d);
if (feof(s)) break;
}
fclose(s); fclose(d); free(r);
return 0;
}
}
(tout les commentaires constructifs sont les bienvenu ;)
j'utilise visual studio 6
je cherche un moyen de reduire le temps entre un fread et le ferr...
je m'explique, je lis à partir du cdrom, je cherche juste a recuperé des fichiers dont certain bytes sont illisible, et de les remplace par des 0 dans la copie.
Seulement, entre fread et ferr, il se passe environ 20 à 25sec... donc si un fichier contient 200 octets illisibles (et parfois +) vous imaginez le temps que çà prend pour copier 1 fichier. (et j'ai bokou de fichier dans ce cas)
je voudrais des reponses constructives...
s'il y a besoin d'info demandez moi :)
@bientot


