Bonjour,
je dois remplir un tableau à deux dimension de type :
pour se faire j'utilise le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2vector < vector <char*> > monTableau;
le tableau est bien rempli et il m'affiche correctement à l'écran le premier élément de chaque ligne
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 // while line != data or EOF while ( (!monFichier.eof()) ) { // keep reading until end-of-file or line DATA // reset line vector ligne.clear(); // ligneLue read line monFichier.getline(ligneLue,2000); // split using ',' ligneDecoupe = strtok(ligneLue,","); while(ligneDecoupe != NULL){ // copy to the ligne vector ligne.push_back(ligneDecoupe); // split using ',' ligneDecoupe = strtok(NULL,","); } // add the line to the tablea monTableau.push_back(ligne); cout<<monTableau[i][0]<<endl; // number of line i++; }
mais dés que je sors de la boucle et que je fais un
il m'affiche une ligne vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cout<<monTableau[0][0]<<endl;
quand je demande la taille via
il me retourne la bonne taille (3415 éléments)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 monTableau.size();
de même la taille d'une ligne
retourne la bonne taille (5 éléments).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cout<<monTableau[0].size()<<endl;
donc la question est pourquoi je n'ai plus accès à mes élements une fois sortie de ma boucle (je pencherai pour le ligne.clear() mais je ne vois pas comment ne pas l'utiliser)
Partager