je doit effectuer un checksum.
j'ai la structure suivante :
Je doit ajouter chaque Bytes de cette structure, en prenant chaque bytes comme un unsigned int.
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 typedef struct charHeader { char name [100]; char mode [8 ]; char uid [8 ]; char gid [8 ]; char size [12 ]; char mtime [12 ]; char chksum [8 ]; char typeflag [1 ]; char linkname [100]; char magic [6 ]; char version [2 ]; char uname [32 ]; char gname [32 ]; char devmajor [8 ]; char devminor [8 ]; char prefix [155]; char empy [12 ]; } charHeader;
j'ai essayé (sans succès) :
Mais vu la valeur c'est correct. Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 charHeader buffer; int chksum = 0; char *pPointer = &buffer; for(i=0; i < sizeof(buffer); i++) { chksum += (unsigned int)*pPointer++; }
Partager