STL : list

STL : list - C++ - Programmation

Marsh Posté le 31-03-2006 à 14:22:13    

Bonjour, j'aurais une autre question sur l'utilisation des list :
 
je dispose de cela :
 
 

Code :
  1. typedef struct UpStruct
  2. {
  3.       char *         u_lrcTn;           
  4.       char *         u_latitude;
  5.       char *         u_longitude;
  6.       char *         u_course;
  7.       char *         u_speed;
  8. } UpStruct ;
  9. typedef list <UpStruct> UpList;


 
 
 
 

Code :
  1. int main(int argc, char* argv[])
  2. {
  3.    UpList UpListA;
  4.    MasterList MasterListA;
  5.    UpStruct My_UpStruct;
  6.    MasterStruct My_MasterStruct;
  7.    UpList::iterator i;
  8.    MasterList::iterator j;
  9.  
  10. //   
  11.    My_UpStruct.u_lrcTn = "0001";
  12.    My_UpStruct.u_course = "123";
  13.    My_UpStruct.u_speed = "100";
  14.    My_UpStruct.u_latitude = "43:10:45 N";
  15.    My_UpStruct.u_longitude = "01:14:21 E";
  16.    UpListA.push_back(My_UpStruct);
  17.    My_UpStruct.u_lrcTn = "0002";
  18.    My_UpStruct.u_course = "223";
  19.    My_UpStruct.u_speed = "200";
  20.    My_UpStruct.u_latitude = "22:10:45 N";
  21.    My_UpStruct.u_longitude = "22:14:21 E";
  22.    UpListA.push_back(My_UpStruct);
  23.    for (i = UpListA.begin(); i != UpListA.end(); ++i){
  24.       cout << i->u_lrcTn << " ";
  25.       cout << endl;
  26.    }
  27.      
  28.     cout << endl;
  29.    My_MasterStruct.p_lrcTn = "001";
  30.    My_MasterStruct.MyList = UpListA;
  31.    MasterListA.push_back(UpListA);
  32.    for (j = MasterListA.begin(); j != MasterListA.end(); ++j){ ..................  }


 
 
je voudrais dans le "for" afficher le contenu de la liste "MasterListA" mais comment accéder au contenu de "MyList"?  
 
alors la question est :
Comment accéder au élément d'une list de list?

Reply

Marsh Posté le 31-03-2006 à 14:22:13   

Reply

Marsh Posté le 31-03-2006 à 14:45:23    

de la meme facon
 
 

Code :
  1. for(MasterList::iterator j = ...)
  2. {
  3. for(MasterList::value_type::iterator i = j->begin(); ...


 
edit: si tu ne fais qu'afficher utilises const_iterator


Message édité par skelter le 31-03-2006 à 14:46:16
Reply

Marsh Posté le 01-04-2006 à 21:19:22    

laisse tomber tes char * buggués, utilise des string

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed