• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Stringstream zwraca przypadkową wartość

0 głosów
455 wizyt
pytanie zadane 11 marca 2017 w C i C++ przez Meltern Początkujący (440 p.)

Cześć, mam pewien problem ze strumieniem stringstream. Moim celem jest pobranie pierwszego wiersza jako string i przerobienie go na int za pomocą ów stringstreama.

Wczytuje dobrą wartość, np '165', ale jeśli chodzi o przerobienie go na inta, to raz wypisze mi 0, raz 123, raz 8 itd.

Debugowałem i pogrubiłem to miejsce, w którym się psuje,

Będę wdzięczny za pomoc.

 

ifstream rekord_load;
rekord_load.open("rekord.txt");

string linia;
stringstream ss;
ss<<getline(rekord_load,linia); 
ss>>re;
rekord_load.close();

1 odpowiedź

+1 głos
odpowiedź 11 marca 2017 przez j23 Mędrzec (195,220 p.)
wybrane 11 marca 2017 przez Meltern
 
Najlepsza
getline(rekord_load,linia);  
stringstream ss(linia);
ss >> re;

 

komentarz 11 marca 2017 przez Meltern Początkujący (440 p.)
Dzięki!

Morał z tego jest taki: nie łączyć sstreama z getlinem
komentarz 11 marca 2017 przez draghan VIP (106,230 p.)
Morał jest nieco bardziej wysublimowany: zaglądać do dokumentacji i sprawdzać, jakie wartości zwracają funkcje, których się używa. :)
komentarz 11 marca 2017 przez Meltern Początkujący (440 p.)
Jak najbardziej!

Podobne pytania

0 głosów
1 odpowiedź 905 wizyt
pytanie zadane 25 stycznia 2019 w C i C++ przez Ryszard Kałuziński Początkujący (280 p.)
0 głosów
1 odpowiedź 2,619 wizyt
0 głosów
0 odpowiedzi 1,005 wizyt
pytanie zadane 29 listopada 2020 w C i C++ przez kiuyama Nowicjusz (190 p.)

93,759 zapytań

142,716 odpowiedzi

323,364 komentarzy

63,357 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...