Bonjour,
Voici le code :
Sous linux avec gcc, le programme compile et s'execute très bien, le fichier titi.bmp et copié sous le nom de titi2.bmp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #include <stdio.h> int main(int argc, char *argv[]) { FILE* src; FILE* dest; int u = 0, d = 3; unsigned char titi[255]; src = fopen("c:/titi.bmp", "r+"); dest = fopen("c:/titi2.bmp", "w+"); printf("%d\n", fread(&titi, 54, 1, src)); fwrite(&titi, 54, 1, dest); while (d == 3) { d = fread(&titi, 1, 3, src); printf("%d %d\n", u, d); u++; fwrite(&titi, 3, 1, dest); } fclose(src); fclose(dest); return 0; }
Maintenant sous windows, que ce soit avec dev-c++ ou Visual C++ 2005 Express, le programme compile aussi. Mais a l'execution le programme s'interrompt avant la fin de la copie (fread renvoie 2 avant la fin du fichier). Par exemple si mon titi.bmp fait 80Ko alors la copie ne fera que 1Ko et le dernier printf affiché est "346 2". Est ce que quelqu'un a une idée ?
Partager