Fichiers

edf102 Messages postés 26 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 15 janvier 2009 - 14 nov. 2006 à 13:21
edf102 Messages postés 26 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 15 janvier 2009 - 16 nov. 2006 à 18:06
bonjour,

je suis en train de faire un prog qui lit un fichier pgm(image)
puis le copie

pour ce faire j'utilise
cette methode :
#include <fstream>

int main()

{
 
    ifstream fin("lena.pgm");
    ofstream fout("fout.pgm");
    int x,y,max,a;
    char id[2];
    fin>>id[0];  // detecte le P2
    fin>>id[1];
    if(id[0]!='P' || id[1]!='2')
        cout<<"erreur";
   
    cout<>x;
    cout<<" "<<x<<" ";
    fin>>y;
    cout<<y<<" ";
    fout<<x<<y;
    fin>>max;
    cout<<max<<" ";
    fout<<max;
    for(int i=0;i<x*y;i++)
        {
        fin>>a;
        cout<<a<<" ";
        fout<<a;
        }
    cout<<endl;
    
        return 0;

}
ca compile
mais cela foire j'pigepas et en plus mon fichier lena.pgm est plus petit que mon fichier fout.pgm et avec x y je sui sur de avoir la bonne taille
(j'utilise pour la premiere fois fstream)

merci d'avance

2 réponses

mad_love_disease Messages postés 64 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 1 juillet 2010 3
14 nov. 2006 à 15:49
Salut edf102,

Ton programme est bon, cependant tu ne tiens pas compte des données contenu dans un pgm ( que je ne connais pas d'ailleurs);

Le problème se trouve dans ta boucle for, ou tu copie le fichier de fin à fout:

    for(int i=0;i<x*y;i++)
        {
        fin>>a;
        cout<>a;
       cout<Mad Love Disease
0
edf102 Messages postés 26 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 15 janvier 2009
16 nov. 2006 à 18:06
desole mais tu as tort
j'ai resolu le probleme il fallait faire un retour a la ligne apres chaque ecriture , merci quand meme
0
Rejoignez-nous