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:
(ces données sont complètement abstraites)
Code : Sélectionner tout - Visualiser dans une fenêtre à part CLE 0.0 1.1 2.2 .... 6000.6000
Voici le code qui me permet de lire cette ligne et de sauvegarder les différentes valeurs:
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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).
Partager