2014-02-20 94 views
1

Stringstream在C++中非常方便在字符串和其他num類型之間進行轉換。我試圖在這樣的程序中多次使用stringstream。如何正確使用stringstream類多次

stringstream ss; 
string s1="stack",s2="overflow"; 
string s3,s4; 
ss<<s1; 
ss>>s3; 
ss.str(""); 
cout<<s3<<endl; 

ss<<s2; 
ss>>s4; 
cout<<s4<<endl; 

程序將正確輸出「堆棧」,但不會輸出「溢出」。對此的任何解釋?

+3

看到這個[問題](http://stackoverflow.com/questions/2848087/how-to-clear-stringstream) – user2079303

回答

0

ss.clear()呼叫

stringstream ss; 
string s1="stack",s2="overflow"; 
string s3,s4; 
ss<<s1; 
ss>>s3; 
ss.str(""); 
cout<<s3<<endl; 
ss.clear() 
ss<<s2; 
ss>>s4; 
cout<<s4<<endl;