Bonjour,

je dois remplir un tableau à deux dimension de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
vector < vector <char*> > monTableau;
pour se faire j'utilise le code suivant :
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++;
 
 
    }
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
cout<<monTableau[0][0]<<endl;
il m'affiche une ligne vide.
quand je demande la taille via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
monTableau.size();
il me retourne la bonne taille (3415 éléments)

de même la taille d'une ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 )