Extraction de chaine en C -- HELP !

Bonjour,
j'ai un problème en C.

Je dois charger une image ppm et pour cela, verifier si elle correspond bien au format, à savoir commencer par 'P6'.
Après il peut y avoir des lignes de commentaires commençant par '#', et sur la ligne d'apres il y a la largeur et la longueur...

Donc j'arrive à récupérer le P6, à éviter les lignes de commentaire (que je ne dois pas récupérer), mais après je bloque pour extraire les dimensions depuis la chaine obtenue.

// Récupération du type de fichier

// Lire les 2 premiers caractères
fread(buff, 2 ,sizeof(unsigned char),fic);
printf("Lecture de P6 effectuée\n");
// Verifier si le fichier est de type PPM, donc si les 2 premiers caractères sont 'P' et '6'
if (buff[0] != 'P' || buff[1] != '6'){
printf("Format d'image non valide\n");
exit(1);
}else{
printf("format valide\n");
}

// Ne pas prendre en compte les commentaires //

// Récupération d'eventuel dièse
fread(buff, 1 ,sizeof(unsigned char),fic);
printf("Diese?\n");

do{
fgets(chaine, 256, fic);
printf("chaine[0] : %u\n", chaine[0]);
}
// Verifier si la ligne commence par '#'
while(chaine[0] == '#');

// parcours de la chaine pour récupérer dimensions image
for(i=0; i<256; i++){
// C'est là où j'ai besoin de vous !

}

Merci d'avance :)
Configuration: Linux
Mozilla 1.8.1.16

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut.
    Je ne connais pas le format des images ppm.
    Selon qu'elles sont codé en binaire ou en ascii, la façon de faire est différente.
    fread(buf,2,sizeof(int),...)
    ou fread(buf,??,sizeof(char),...);