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 :

pb dans la lecture consécutive de deux fichiers txt


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Points : 17
    Points
    17
    Par défaut pb dans la lecture consécutive de deux fichiers txt
    Bonsoir,
    j'ai un programme qui sert à ouvrir deux fichiers textes et les lire.Il va remplir le contenu du premier fichier dans un vecteur de 2 dimensions, et fait quelques traitement avec le contenu du deuxième fichier.Mais, lorsque je lance le programme pour qu'il fait la lecture des deux fichiers avec le remplissage du premier tableau avec le premier fichier, il se bloque quand il est en train d'ouvrir le deuxième fichier, et il cesse de fonctionner, voilà mon code:
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    strstream ss;    
     ss << "codde" << region << ".txt";    
     std::string filess = ss.str();    
     ifstream fichierss(filess,ios::in); // ouverture du fichier  
     int nbrligne=0;  
     std::string contenu; 
    // std::string contenu;  
    if(fichierss)  // si l'ouverture a fonctionné    
    {     
     // déclaration d'une chaîne qui contiendra la ligne lue    
     while(getline(fichierss, contenu))  // tant que l'on peut mettre la ligne dans "contenu"    
       {    
         // on met dans "contenu" la ligne    
    nbrligne++;  
     }    
    fichierss.close(); // fermeture du fichier  
     
    }  
     
    int  nbrcor;   
    nbrcor=nbrligne;  
    int dim_allouee = 0; // nombre d'éléments alloués avec succès sur la dimension 2    
    double** sommet=0;    
    sommet=new double * [nbrcor];    
    //std::fill_n( sommet, nbrcor, static_cast<double*>( 0 ) );    
    for ( dim_allouee = 0; dim_allouee < nbrcor; ++dim_allouee)    
     {    
     sommet[ dim_allouee ] = new double[ 3 ];    
      }    
    ifstream fichiersopen(filess,ios::in); // ouverture du fichier  
    int w=0;  
    for(w=0;w<nbrcor;w++)  
    {  
    while( getline(fichiersopen, contenu))  
    {  
    int x=0;  
    istringstream t(contenu);    
    string mot;    
    while ( std::getline( t, mot, ' ' ) )    
      {    double z;
    z=10 *lexical_cast<double>(mot);
          sommet[w][x] =z;// ::atof(mot.c_str());    
     x=x+1;  
       } 
    double* so=sommet[w];
    /************ traitement à faire *********/
    int nbp=polydata->GetNumberOfPoints();
    int nbp1=nbp+1;
    polydata->GetPoints()->InsertPoint(nbp1,so);
    //polydata->GetPoints()->InsertNextPoint(so);
    polydata->GetPoints()->Modified();
    polydata->Modified();
    polydata->Update();
    cout<<"les sommets  sont: "<<sommet[w][0]<<" "<<sommet[w][1]<<" "<<sommet[w][2]<<"\n "<<endl;
    /**********************************************/
    }  
    }  
     fichiersopen.close();// fermeture du fichier 
    /************** pour le deuxièmes fichier  ****************/
    strstream sface; 
     
     sface << "face" << region << ".txt";  
     
     std::string face = sface.str();   
     
     ifstream fichierface(face,ios::in); // ouverture du fichier  
     
     int nbrligneface=0; 
     
     std::string contenuface; 
     while(getline(fichierface, contenuface))    
       {    
     
    	   istringstream t(contenuface); 
    		   string mot;    
    	while ( std::getline( t, face, ' ' ) )   
      {  
    	  int z;
    istringstream ( face )>>z;
    int zz=z+nbpp;
    	   points->InsertNextId(zz); 
       } 
    int cell=polydata->GetPolys()->GetNumberOfCells();
    polydata->GetPolys()->InsertNextCell(points);
    polydata->BuildCells();
    polydata->BuildLinks();
    polydata->GetPolys()->Modified();
    int cells=cell+1;
    polydata->GetPolys()->UpdateCellCount(cells);      
    nbrligneface++;  
     }    
    fichierface.close(); // fermeture du fichier
    Est ce que vous pouvez m'aider
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Citation Envoyé par tasnim2010 Voir le message
    Est ce que vous pouvez m'aider
    Commence par découper en fonctions plus simples car là le code est difficilement compréhensible. En plus cela forcera à nommer chacune des actions et donc à mieux identifier leur rôle. Utilise des conteneurs (std::vector<std::tuple<double,double,double>> par exemple) plutôt qu'une allocation à la main assez aléatoire. Pose ton algorithme clairement. Cherche à utiliser la STL lorsque tu fais des traitements sur des ensembles.
    Utilise un debugger.

    bon courage.

Discussions similaires

  1. [Débutant] Lecture simultanément de deux fichiers CSV en C#
    Par akramgroupama dans le forum C#
    Réponses: 2
    Dernier message: 28/06/2014, 23h07
  2. [Débutant] Pause dans une lecture audio d'un fichier.
    Par pve3 dans le forum VB.NET
    Réponses: 7
    Dernier message: 27/04/2012, 12h18
  3. recherche dans deux fichiers txt
    Par silvermanu dans le forum VBScript
    Réponses: 4
    Dernier message: 29/04/2010, 07h57
  4. comparer deux fichier .txt
    Par koKoTis dans le forum VBScript
    Réponses: 4
    Dernier message: 31/01/2008, 11h01
  5. Importer deux fichiers .txt et les mettres en corréalation !
    Par NoRKi dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/09/2006, 22h28

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