IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Problème de lecture d'un fichier PNM


Sujet :

Contribuez

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de lecture d'un fichier PNM
    Bonjour tous le monde !

    J'ai un petit soucis pour la lecture d'une image de type pnm. Pour ceux qui ne savent pas ce que c'est, ce type d'image est représenté dans un fichier gràce à un encodage de type ascii. Une image PNM est composé d'une en-tête, des dimensions ainsi que la variation des couleurs des pixels, le reste est une matrice qui représente l'image et qui affiche les pixels en couleurs.

    Il faudrait que je puisse ignorer des lignes de commentaires commençant par '#' mais c'est là que je bloque... J'ai essayer de faire quelque chose qui ressemble à ça:

    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
     
    while(!feof(file))
    {
         if(fgetc(file)=='#')//je récupère le caractère # pour ignorer le commentaire
        {
              while(fgetc(file) != '\n');// si je suis sur une ligne qui correspond à un commentaire je déplace mon curseur jusq'à la ligne suivante.
        }
         if(fscanf("file, "%u %u), &colonnes, &lignes)==2)
        {
            fclose(file);
            creation_pixel(lignes, colonnes, fichier);//j'appel une fonction d'allocation d'une matrice de fimension "colonnes" et "lignes" et j'écris le tous dans un autre fichier.
       }
       if(fscanf(file, "%s", nbr_magique[0])==1)
      {
      if(nbr_magique[0]!='P')
      {
         printf("fichier corrompu.\n\n");
         return -1;
      }else
          while(fgetc(file)!='\n'); // je déplace mon curseur pour aller à la ligne suivante.
      }
     }
    le nbr_magique représente 'identifiant de l'image qui se trouve en première ligne et qui doit s'écrire 'P3'.
    Bien évidemment ce que j'ai fait ne fonctionne pas .


    un fichier de type ppm peut ressembler donc à ça:

    P3
    #commentaire
    2 2 // colonnes et lignes
    256 // variation de couleur
    212 23  // matrice    
    323 33    //matrice

  2. #2
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    J'ai résolu mon problème :p Si quelqu'un d'autre aurais le même problème que moi voilà ma solution...

    Je lis chaque premier caractère de la ligne de mon fichier, lorsque je rencontre un '#' ou un 'P' je saute à la ligne suivante en déplaçant mon curseur avec l'instruction suivante : while(fgetc(file)!='\n'); Ensuite lorsque le caractère rencontré n'est pas un '#' ou un 'P' je reviens à la ligne passé à la position \n du fichier avec l'instruction fseek(file, -1, SEEK_CUR). Finalement je fais un fscanf() pour lire la dimension de la matrice de mon fichier(donc mon nombre de colonne et de ligne). Ensuite la lecture ce fait toute seule avec un fscanf sur tout le fichier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBnet] Problème de lecture d'un fichier texte.
    Par dibeloni dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/03/2006, 19h12
  2. [VB6] Problème de lecture d'un fichier excel
    Par Requin15 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/03/2006, 17h10
  3. Problème de lecture d'un fichier
    Par rvweb dans le forum C++
    Réponses: 3
    Dernier message: 30/12/2005, 21h03
  4. Réponses: 2
    Dernier message: 28/12/2005, 15h00
  5. Problème de lecture dans un fichier xml
    Par Pyra dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2005, 00h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo