Salut à vous !
J'essaie de faire une fonction qui a plus ou moins pour but de lire un fichier de filtre. Pour cela j'utilise istringstream afin de pouvoir séparer les mots. Normalement j'arrive à m'en servir sans problème. Mais là il se passe un truc assez zarbi : selon les lignes, mon istringstream semble avoir une attaque cérébrale ou un truc du genre, et me sors plusieurs fois la même ligne à l'affichage. Pire encore : lorsque j'essaie de lire les mots, j'ai l'impression que mon istringstream ne récupère jamais le premier mot de la ligne, ce qui est mine de rien assez problématique.
Voilà ma fonction : c'est en réalité un constructeur pour une classe qui prend une liste de filtres en paramètres.
Et voilà ce à quoi ressemble le fichier que je dois lire :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 FilterList::FilterList(string fileName) { ifstream file(fileName.c_str(), ios::in); string line, str; string args[2]; bool lecture = false; if (!file) { cerr << "Erreur de lecture du fichier de filtre" << endl; } while (getline(file, line)) { //cout << line << endl; istringstream ss(line); while (getline(ss, str, ' ')) { //cout << lecture << endl; //cout << "istringstream" << endl; cout << ss.str() << endl; if (str != "") { //cout << "Lecture ligne non vide" << endl; ss >> args[0] >> args[1]; //cout << args[0] << endl; //cout << args[1] << endl; if (args[0] == "###") { if (!lecture) { //cout << "lecture = true" << endl; lecture = true; continue; } else { //cout << "lecture = false" << endl; lecture = false; continue; } } if (lecture) { cout << args[0] << " " << args[1] << endl; filters.push_back(args[1]); cout << filters.at(filters.size()-1) << endl; } } } ss.clear(); } file.close(); }
Une idée ? :/
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172 De: stats-sna-rp@regis-dgac.net de la part de stats-sna-rp [stats-sna-rp@regis-dgac.net] Envoyé: mardi 23 juin 2015 10:58 À: olivier brillant Objet: Tr : Demande VISTA Survols de Commune -------- Message d'origine -------- De: stats-sna-rp@regis-dgac.net Date: 23 juin 2015 10:47:37 Objet: Demande VISTA Survols de Commune A: stats-sna-rp@regis-dgac.net ### VISTA-SC ### CERCLE ### JOURNEE ORDINAIRE ### SUPERPOSITION DE TRACES ### EMETTEUR olivier.brillant@regis-dgac.net MODE JOURNEE_ORDINAIRE nb_indicatifs 2 indicatif_1 AF* indicatif_2 VG _choix_props OUI _choix_jets OUI _choix_heli OUI _choix_typa_inconnus OUI _choix_heavy OUI _choix_light OUI _choix_medium OUI _fl_mini 001 _fl_max 60 _tracer_lignes_points Lignes _choix_cercle_echelle OUI _deborder_cercle NON _FOND_CARTO aucun _TRACER_DEPARTEMENT NON _TRACER_COMMUNES OUI _TRACER_TXT_VILLES NON _echelle CDG5 _mode_comptage CERCLE _nb_traj_max toutes Date_1 01/06/2015 Date_2 02/06/2015 Date_3 03/06/2015 Date_4 04/06/2015 Date_5 05/06/2015 Date_6 06/06/2015 Date_7 07/06/2015 Date_8 08/06/2015 Date_9 09/06/2015 Date_10 10/06/2015 Date_11 11/06/2015 Date_12 12/06/2015 Date_13 13/06/2015 Date_14 14/06/2015 Date_15 15/06/2015 _nb_superposition 15 _X_lambert1 603716 _Y_lambert1 2414730 nom_ville_long OL _rayon 5 _LFPO_DEP OUI _LFPO_ARR OUI _LFPN_DEP NON _LFPN_ARR NON _LFPV_DEP NON _LFPV_ARR NON _LFPG_DEP OUI _LFPG_ARR OUI _LFPB_DEP NON _LFPB_ARR NON _LFPT_DEP OUI _LFPT_ARR OUI _AUTRE_DEP NON _AUTRE_ARR NON REQUETE VISTA_CERCLE_L2E.ilv flag_une_couleur_par_indicatif NON _flag_masquer_indicatif NON _new_mode_arr_dep OUI _mode_fichiers_z NON _fichiers_z_format_geo NON _mode_eff_polylines_si_pas_comptee OUI _mode_gommer_polylines_si_pas_comptee NON _mode_nuage_de_points NON _mode_superposition OUI _mode_images_separees NON _mode_un_jour_une_couleur_de_plot NON _toggle_modulo_fl_avions NON _toggle_modulo_indicatif NON _toggle_modulo_fl_hhmmss_avions NON _modulo_fl_avions 10 MODE_JOUR_NUIT MODE_JOUR_NUIT VAL_JOUR_NUIT PAS_FILTRE_HEURE_ARRIVEE ### FIN MESSAGE ### G_Version = 2015.03 WLogicielMail = ORLY_CMIT_TOUR.
Merci d'avance pour votre réponse.
Partager