IStringStream et ligne très longue
Bonjour tout le monde,
Je me trouve devant un problème étrange: j'ai une ligne composée d'une clé (un string) puis de multiples valeurs (environ 6000 doubles). Lorsque je tente de lire cette ligne, la dernière valeur de celle ci est dupliquée.
Voici un exemple de ligne contenant 6001 valeurs:
Code:
CLE 0.0 1.1 2.2 .... 6000.6000
(ces données sont complètement abstraites)
Voici le code qui me permet de lire cette ligne et de sauvegarder les différentes valeurs:
Code:
1 2 3 4 5 6 7 8 9
| std::vector<double> myValues;
std::istringstream iss(myBigLine); //stringstream to convert string to double.
while (!iss.eof())
{
double value;
iss >> value;
myValues.push_back(value);
} |
C'est en voulant testé si le nombre de valeurs contenues dans le vecteur est identique à celui espéré (récupéré à partir d'autres données), que je me rend compte que la dernière valeur de la ligne est dupliquée.
Je ne comprends pas du tout ce comportement.
Est-ce que j'utilise mal std::isstringstream?
Comment remédier à ce problème?
Merci d'avance.
PS: Ce code fonctionne très bien pour des lignes plus petites (2-3000 valeurs).