cs_diazounet
Messages postés2Date d'inscriptionlundi 8 février 2010StatutMembreDernière intervention 9 février 2010
-
8 févr. 2010 à 22:12
fregolo52
Messages postés1115Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
9 févr. 2010 à 09:42
Bonjour ,
doonc voila j'ai un petit probleme , dans un exo ya une question qui m'embete , la voici : Écrire une fonction de lecture qui prend en paramètre le nom d’un fichier PPM et retourne une structure IMG contenant l’image .
le probléme c'est que je ne sais pas comment faire pour retourner la structure image et je suis arriver a faire ca :
#include <stdio.h>
#include <stdlib.h>
struct IMG
{
int nbligne;
int nbcolonne;
int tab[300][300];
};
int main(int argc, char *argv[])
{
int nbligne;
int nbcolonne;
FILE* fichier = NULL;
fichier = fopen("img.ppm", "r");
if (fichier != NULL)
{
printf("Possibilite d'ecrire dans le fichier img.ppm\n");
fregolo52
Messages postés1115Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 9 févr. 2010 à 09:42
code a l'arrache, donc non compilable, as toi de mettre au proche
main()
{
....
char fichier[256];
IMG *pImage(fichier);
..
free(pImage);
}
IMG *chargerImage(char *nomFichier)
{
IMG *pImage = NULL;
// apres, fopen, fread dans pImage, et c'est bon !!
FILE *fp = fopen // ca tu sais faire
if (fp)
{
pImage = malloc(sizeof(IMG));
int ret = fread(pImage, sizeof(IMG), 1, fp);
// si ret = 1 c'est ok
fclose(fp);
}
return pImage;
}
ok c'est peut etre dégueulasse pour certains qui préféreront un proto comme ceci :
int chargerImage(char *nomFichier, IMG *pImg); // donc l'allocation est faite dans l'appelant (main).