Bonjour � tous,
J'ai un petit probl�me avec un fichier txt, j'ai un fichier txt qui a cette forme :
Ce bloc peut se r�p�ter N fois dans le fichier txt. Je fait donc une boucle while afin de parcourir chacune de mes lignes avec ifstream, et j'utilise boost afin de s�parer ma ligne sur chaque espace, comme ceci :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 BT 1 BN bonjour BG BU BB BM NH BP A:001 P01:test P02:00001400 P03:00001400 P09:string KS toto tata BT 20 ....
Moi ce que j'aimerais faire c'est r�cup�rer un tableau de ligne pour chaque section. Une section commence par BT et d�s que je retombe sur un BT j'ai une nouvelle section. Mon while est donc :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 while(std::getline(fichier, line)) { std::vector<std::string> tokens; boost::split(tokens, line, boost::is_any_of(" ")); }
Probl�me je ne sais pas trop comment faire pour avoir au final quelque chose comme �a :
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 while(std::getline(fichier, line)) { std::vector<std::string> tokens; boost::split(tokens, line, boost::is_any_of(" ")); if(tokens[0].compare("BT") == 0) { //nouvelle section detecte ici } else if(tokens[0].compare("BP") == 0) { } else { } }
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 [0] => Array ( [0] => BT 1 [1] => BN poteau [2] => BG [3] => BU [4] => BB [5] => BM NH [6] => BP A:001 P01:test P02:00001400 P03:00001400 P09:string [7] => KS toto tata ) [1] => Array( [1] => BT 20 [2] => ........... )
Partager