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

C Discussion :

Problème de pointeur (encore un)


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 18
    Par défaut Problème de pointeur (encore un)
    Tout d'abord bonjour

    voilà je suis en plein dans (la tentative de) la programmation d'un compresseur d'image en C

    Mais un problème réside : je stock l'image dans un pointeur, à l'aide d'une fonction "void ouvrir_fichier(struct image *image)"
    mais impossible d'utiliser le pointeur en dehors de la fonction ouvrir_fichier
    bon je vous passe les bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int main(int argc, char** argv)
    {
        struct taille taille;
        struct image *image = NULL;
        unsigned char *entete = NULL;
        unsigned char *temp = NULL;
     
        taille=taille_fichier(argv[1]);
        ouvrir_fichier(taille,argv[1],temp,entete,image);
        printf("x : %d\ny : %d\nbleu : %d\nvert : %d\nrouge : %d\n" ,image[60].x,image[60].y,image[60].bleu,image[60].vert,image[60].rouge);
    }
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    void ouvrir_fichier(struct taille taille,char *file,unsigned char *temp,unsigned char *entete,struct image *image)
    {
         int i;
        FILE *fichier;
        entete = malloc (54 * sizeof *entete);
        temp = malloc( taille.taille * sizeof *temp );
        image=malloc(taille.taille* sizeof *image);
        if (image == NULL || temp == NULL || entete == NULL)
        {
                  fprintf(stderr,"Allocation impossible \n");
                  exit(EXIT_FAILURE);
        }
        //Ouverture du Fichier
        fichier=fopen(file,"rb");
        if(!fichier)
        {
                    printf("Erreur d'ouverture du fichier");
                    exit(-1);
        }
     
        //Copie de l'entete de l'image
        fread(entete,1,54,fichier);
        if (entete == NULL)
        {
                   printf("Erreur de copie de l'entete");
                   exit(-1);
        }
        //Copie de l'image
        fread(temp,1,taille.taille,fichier);
        if (temp == NULL)
        {
                  printf("Erreur de copie de l'image");
                  exit(-1);
        }
        fclose(fichier);
        //Traitement de l'image
        for(i=0;i<(taille.largeur)*(taille.hauteur);i=i+3)
        {
                                      image[i].bleu=temp[i];
                                      image[i].vert=temp[i+1];
                                      image[i].rouge=temp[i+2];
                                      image[i].x=i%taille.largeur;
                                      image[i].y=(i-(i%taille.largeur))/taille.largeur;
        }
        // Liberation de la mémoire allouée à *temp
        free(temp);
    }
    Voilà en esperant que vous pourrez m'aider, je vous remercie d'avance

    EDIT : je joint les fichiers sources complets si besoin...
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Problème de pointeur, fonction et tab (encore!)
    Par Joaninha. dans le forum C
    Réponses: 5
    Dernier message: 11/05/2015, 09h13
  2. Problème de pointeur avec un TQuery
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/01/2005, 13h57
  3. Problème de pointeur
    Par toma_lille dans le forum C++
    Réponses: 1
    Dernier message: 07/12/2004, 21h26
  4. [MFC] Problème de pointeur !!
    Par acastor dans le forum MFC
    Réponses: 7
    Dernier message: 19/03/2004, 15h50
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

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