vector et porté de variable
Bonjour,
je dois remplir un tableau à deux dimension de type :
Code:
1 2
|
vector < vector <char*> > monTableau; |
pour se faire j'utilise le code suivant :
Code:
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++;
} |
le tableau est bien rempli et il m'affiche correctement à l'écran le premier élément de chaque ligne
mais dés que je sors de la boucle et que je fais un
Code:
1 2
|
cout<<monTableau[0][0]<<endl; |
il m'affiche une ligne vide.
quand je demande la taille via
il me retourne la bonne taille (3415 éléments)
de même la taille d'une ligne
Code:
1 2
|
cout<<monTableau[0].size()<<endl; |
retourne la bonne taille (5 éléments).
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 :cry:)