Bonjour en effet je veut juste ouvrir puis sauvegarder ( sans aucune perte sous le méme format PPM ) des image mais j'ai un soucis pour lequel je ne trouve pas de solution . l'ouverture s'arrete toujours au même endroit .

exemple de fichier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
P3
# CREATOR: The GIMP's PNM Filter Version 1.0
300 225
255
65
58
56 ....
l'ouverure se fait ainsi :

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
/*--recuperation de l'entete--*/
  fgets(temp1,100,fic);
  fgets(temps2,100,fic);
  fscanf(fic,"%d %d",&ta1,&ta2); // valeurs width , length
  fscanf(fic,"%d\n",&ta3); // MAX 
  /*--chargement dans la matrice--*/
  unsigned char varb,varv,varr;[/10]
  for(i=0;i<length;i++) for(j=0;j<width;j++)  
    { 
     fread(&varr,1,1,fic);
     fread(&varv,1,1,fic);
     fread(&varb,1,1,fic);
 
     matR[i][j]=varr;
     matV[i][j]=varv;
     matB[i][j]=varb;  
    }
partie sauvegarde :

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
 
  /*--sauvegarde de l'entete--*/
  fprintf(fic,"P3");
  fprintf(fic,"\n# IMG ");
  fprintf(fic,"%d %d",length,width);
  fprintf(fic,"\n255\n");
 
  /*--enregistrement--*/
  for(i=0;i<length;i++) 
  for(j=0;j<width;j++) 
    {
     fprintf(fic,"%c",(char)matR[i][j]);
     fprintf(fic,"%c",(char)matV[i][j]);
     fprintf(fic,"%c",(char)matB[i][j]);
 
    }
Le resultat et que j'ai juste une partie de l'image qui s'affiche et en l'ouvrant avec GIMP j'ai un message : FIN DE FICHIER PREMATURE
effectivement en comparant les deux fichier ( original et copie ) sur la copie 2 tiers voir plus d'informations manque .

merci de m'aider si vous voyez des solutions .