Bonjour,
je dois remplir un tableau à deux dimension de type :
Code :
- vector < vector <char*> > monTableau;
|
pour se faire j'utilise le code suivant :
Code :
- // 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 :
- 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 :
- 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 )
Message édité par lordankou le 16-04-2008 à 13:25:17