[C++] istringstream - dziwny błąd

0

pisałem taki kod setki razy, jednak teraz się trochę zdziwiłem:

string s ;
ifstream ifs ;
(...)

int a=0, b=0 ;

getline(ifs,s) ;
istringstream iss(s) ;
iss>>a ;
cout<<"s= "<<s<<"\ta= "<<a<<endl ;
getline(ifs,s) ;
iss.str(s) ;
iss>>b ;
cout<<"s= "<<s<<"\tb= "<<b<<endl ;

na wyjściu dostaję:

s= 1    a= 1
s= 1    b= 0

rozwiązałem to tworząc drugi istringstream, ale pytam co źle zrobiłem? czy zapomniałem o czymś bardzo prostym, kawy nie piłem, nie wiem do cholery....

0

pewnie strumień wysechł :P To znaczy skończył się. Spróbuj wywołać na nim metodę clear(). Nie, nie usuwa ona danych ze strumienia --> doc

1 użytkowników online, w tym zalogowanych: 0, gości: 1