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

 


Dernière réponse
Sujet : [C++] pb de lecture fichier [newbie need help]
Carbon_14 Je connais pas encore le C++, mais en remplaçant  
if(ifp.atEnd())
{
    ifp.close();
}  
par
 
ifp.close();  
 
ça fonctionnerait pas mieux ?
Si la lecture est terminée, autant le fermer (ce n'est pas le fait d'arriver à la fin du fichier qui "oblige" à le fermer, c'est le fait de ne plus avoir besoin d'y accéder).

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Carbon_14 Je connais pas encore le C++, mais en remplaçant  
if(ifp.atEnd())
{
    ifp.close();
}  
par
 
ifp.close();  
 
ça fonctionnerait pas mieux ?
Si la lecture est terminée, autant le fermer (ce n'est pas le fait d'arriver à la fin du fichier qui "oblige" à le fermer, c'est le fait de ne plus avoir besoin d'y accéder).
ramirez voila, désole de vous embêter encore avc mes questions bêtes mais g pondu le chef d'oeuvre suivant et ca marche pô !!!
 
void Pdb_viewDoc::addMolecule(QString tmpfile){
mol = new Molecule();         //molecule
Atome atomes[5000];        //chaine alpha, a remplacer a terme par des aa
char line[80];         // ligne tampon
QFile ifp(tmpfile)
char *curs = NULL,*match = NULL;
int i = 0,cpt = 0;
float coord;
 
 
 if(ifp.open(IO_ReadOnly)){
   while (ifp.readLine(line,80)) {
     if((curs = strstr(line,"ATOM" ))){   //reperage ligne ATOM
       cpt ++;
       match = strtok(curs," " );  //decoupage de la ligne
       
       for(i = 0;i < 7;i ++){
  match = strtok(NULL," " );
   
  switch(i) {
  case 2 :
    (atomes[cpt]).setType(match);
    cout << "trouve : " << match << endl;
    break;
  case 4 :
    cout << "trouve : " << match << endl;      
    sscanf(match,"%f",&coord);
    (atomes[cpt]).set_x(coord);
    break;
     
  case 5 :
    cout << "trouve : " << match << endl;      
    sscanf(match,"%f",&coord);
    (atomes[cpt]).set_y(coord);
    break;
     
  case 6 :
    cout << "trouve : " << match << endl;      
    sscanf(match,"%f",&coord);
    (atomes[cpt]).set_y(coord);
    break;      
  }//fin du switch
       }//fin du for
       
     }//fin du if (ligne ATOM)
     
   }//fin du while
   if(ifp.atEnd()){
     ifp.close();  
     cout << "fichier ferme en lecture" << endl;
   }  
 }//fin du if (ouverture fichier)
 else{
   cout << "pb d'ouverture du fichier " << tmpfile << endl;
 }
}//fin de fonction
 
 
le symptôme :  
le fichier est entierement lu et les infos ecrites ds le terminal comme prevu...
 
mais le fichier n'est pas ferme donc l'application tourne dans la choucroute !!!
 
comment est-ce que c'est-t-il qu'on ferme ce fichu fichier ???
 :fou:  
 
je note que j'ai fait un #include <qfile.h>
 
mrci beaucoup pour votre aide car là j'avance plus du tout !!!
 :sweat:

 

[jfdsdjhfuetppo]--Message édité par ramirez--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)