Petit souci avec stringstream et contenu variable.
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)
Code:
[nombre0] [nombre1] [nombreN] [|] [nombreN+1] [nombreN+2] [nombreN+N]
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).
Eh bien ça peut paraître super con, mais j'y arrive pas :?
J'ai essayé ça:
Code:
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 );
}
} |
sans résultat...
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 ?