Salut,
Quand j'enregiste une jpeg sur la caméra et que je la transfère par filezilla le fichier édité avec hexedit donne (pour la première ligne) :
ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01
(dans ce cas l'image est bonne)
Quand j'ouvre le fichier sur la caméra et que je le transfère par socket au PC , j'ai pour la première ligne :
ff d8 ff e0 10 4a 46 49 46 01 01 01 01 ff db 43
=> il n'écrit pas les octets à 00!!!
voila grosso modo mon code
char*image = (char*)malloc(sizeof(unsigned char)*22133) ;
memset(image,0,22133) ;
count=recv(csock,(char *)image,22133,0);
printf("Count=%d",count);
for (y = 0; y <22133; y++)
{
sprintf(buf,"%c",(unsigned char)image[y]);
put_header_line(file,buf);
}
En plus, quand j'utilise ce code à chaque fois qu'il y a 0a il ajoute un 0d devant par rapport au fichier original.
A+.