Salut !
J'ai un petit soucis avec istringstream que je n'arrive pas à résoudre simplement.
En fait, j'ai dans un fichier un certain nombre de lignes. Ils ont tous un pattern bien précis qui est (en bien simplifié, mais c'est l'idée)
Je les mets entre crochets car le nombre de numéros est variable de ligne en ligne. Le séparateur | peut être là ou pas, aussi, et il faut pouvoir différencier les nombres avant le | et ceux après, s'il existe. (si le séparateur existe, il y aura d'office au moins 1 nombre après celui-ci).
Code : Sélectionner tout - Visualiser dans une fenêtre à part [nombre0] [nombre1] [nombreN] [|] [nombreN+1] [nombreN+2] [nombreN+N]
Eh bien ça peut paraître super con, mais j'y arrive pas
J'ai essayé ça:
sans résultat...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 istringstream iss( line ); int nombre; while( iss >> nombre ) { premiereSerie.push_back( nombre ); } char c; if( iss >> c ) { while( iss >> nombre ) { secondeSerie.push_back( nombre ); } }
La 1ère série se remplit bien, mais la 2è série reste toujours vide...
J'ai aussi essayé de jouer avec iostate et les exceptions, mais pas mieux...
Je suis sûr que la solution est tout con mais je sèche :\
Une idée ?
Partager