Bonjour,

Je souhaite lire les 50 premiers octets d' un fichier image, puis l'afficher sur la sortie standard, voila mon bout de code :

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
 
#include <stdio.h>
 
int main()
{
    FILE *f;
    unsigned char i, byte;
 
    f = fopen("test.png", "rb");
    if(f == NULL)
    	printf("erreur d'ouverture");
    else
    {
        for (i=0; i<50; i++)
	{
	    fread(&byte, sizeof(unsigned char), 1, f);
	    printf("%X ", byte);
	}
    }
 
 return 0;
}

Cela semble fonctionner mais les 0 ne s'affiche pas tous :

89 50 4E 47 D A 1A A 0 0 0 D 49 48 44 52 0 0 0 30 0 0 0 30 8 6 0 0 0 57 2 F9 87 0 0 0 4 73 42 49 54 8 8 8 8 7C 8 64 88 0
Qu'es-ce qui cloche ?