Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1482 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Lecture et ecriture d'une image pgm en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lecture et ecriture d'une image pgm en C

n°2273964
aragaj
Posté le 21-01-2016 à 01:04:10  profilanswer
 

.


Message édité par aragaj le 25-01-2016 à 03:20:59
mood
Publicité
Posté le 21-01-2016 à 01:04:10  profilanswer
 

n°2274002
rat de com​bat
attention rongeur méchant!
Posté le 21-01-2016 à 14:08:11  profilanswer
 

Le "prblm", à part la mise en page, est que tu n'as apparemment pas activé les warnings de ton compilateur.

 

f.c:11:1: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'char (*)[21]' [-Wformat]
f.c:22:1: warning: format '%c' expects argument of type 'char *', but argument 3 has type 'int' [-Wformat]
(les numéros de lignes ne correspondent pas)

 

ligne 15: fscanf(fo,"%s %d %d %d",<pas de & ici!>nom,&nbc,&nbl,&max);
ligne 38: fscanf(f,"%c",<pas de * ici!>Image+i*nbc+j);

 

Après un fopen() faut vérifier le résultat (!=NULL).
Quand je crées un fichier pgm avec IrfanView il y a une ligne de commentaire après le P5 qui fait échouer le programme, mais je ne sais pas si c'est autorisé par le standard de mettre un commentaire. À voir.
Ton programme plante, je suppose dans la boucle de lecture, à toi de debugger (probablement un accès en dehors de l'espace mémoire alloué).

 

edit: ???? Pourquoi tu reouvres ton fichier? Comme tu as effacé en plus le nom ça donne n'importe quoi. Copier-coller des bouts de code ce n'est pas la bonne méthode. Vas-i doucement étape par étape après avoir testé l'algo avec papier et crayon. Et n'hésite pas de consulter ton cours de C!


Message édité par rat de combat le 21-01-2016 à 14:14:13
n°2274039
aragaj
Posté le 21-01-2016 à 20:18:34  profilanswer
 

.

Message cité 1 fois
Message édité par aragaj le 25-01-2016 à 03:21:21
n°2274048
rat de com​bat
attention rongeur méchant!
Posté le 21-01-2016 à 21:52:20  profilanswer
 

aragaj a écrit :


j aimerais savoir comment est ce que je peux activer les alertes dans dev-C++  


Il faut rajouter -Wall aux options du compilateur gcc. Pour savoir comment faire ça sous Dev-C++ tu dois consulter l'aide ou un moteur de recherche... Je suppose que Dev-C++ est imposé par le prof? De mémoire c'est plutôt ancien, j'utiliserais plutôt Code::Blocks (ou carrément la ligne de commande mais pour un débutant c'est pas top).
 

Citation :

voilà mon nouveau code.


Ce n'est pas encore gagné.
 

Citation :

Nb: ce n'est pas du copier coller.


Je ne voulais pas dire que tu copies du code d'internet, mais j'ai l'impression que déplaces tes morceaux de code (à toi) plus ou moins aléatoirement plutôt que de refléchir. Si tu avais suivi mon conseil à savoir faire l'algo sur du papier d'abord tu n'aurais pas fait l'erreur d'ouvrir le fichier deux fois. De même dans le nouveau code, lors de l'appel de malloc() nbc et nbl ne sont pas initialisés, ce qui donnera forcément des bêtises. Aussi tu ne testes toujours pas la valeur de retour de fopen().
 
Active donc déjà les warnings, corrige les et reposte ton nouveau code. Ensuite on vera pour les autres erreurs.
 
Ah oui, tu fais du C alors ton fichier doit porter l'extension .c. Ainsi il sera compilé comme du C (et du coup tu n'as pas besoin de faire un cast sur la valeur que retourne malloc()). Et dans un fichier .h on mets que des prototypes de fonctions, le code en soi va dans les fichiers .c. Ici c'est un petit programme, sauf obligation contraire je te conseille de tout mettre dans un seul fichier main.c:
-include des bibiliothèques standards
-prototypes des fonctions lire() et save() [pourquoi save d'ailleurs si ton code est en français?]
-la fonction main()
-les fonctions lire() et save()

n°2274423
rat de com​bat
attention rongeur méchant!
Posté le 27-01-2016 à 16:27:29  profilanswer
 

C'est quoi cette [...] d'effacer tes messages? Faut pas que le prof les trouve c'est ça?

n°2274425
Farian
Posté le 27-01-2016 à 16:44:17  profilanswer
 

C'est malheureusement bien possible ... :(

n°2274449
Anonymouse
Posté le 27-01-2016 à 19:53:37  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Lecture et ecriture d'une image pgm en C

 

Sujets relatifs
Background video au lieu d'image ?Lecture d'un fichier texte
intégrer le bonhomme du pendu au jeu du pendu en C[CSS] création bandeau avec image.
Insérer une image sur une autreEcrire totalité des resultats d'un programme dans un fichier en C
[C] Problème d'affichage dans le résultat de ma fonction Clecture de chaine de caractere
[C] parcours en largeur \ profondeur 
Plus de sujets relatifs à : Lecture et ecriture d'une image pgm en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR