我想通過ostringstream將int轉換爲字符串,但每次將數據放入流中時,都會保留在流中。我試過使用.flush()
和<<endl
,但是這個流不會清空。 This question暗示我真的沒有流(我不知道,仍然在努力),我正在做的事情是喧鬧和不必要的。爲什麼ostringstream不能清空?
int main()
{
long int max = 0;
ostringstream strs;
for(int i=10;i<100; i++){
for(int j = i; j < 100; j++){
long int product = i*j;
strs.flush();
strs <<product;
string str = strs.str();
cout<<str;
int size = str.length();
}
}
cout<<max;
return 0;
}
目前我得到的
100/100
110/100110
120/100110120
130/100110120130
etc...
,而不是
100/100
110/110
120/120
130/130
etc...
爲什麼*會*爲空?文件的內容不會因爲讀取而消失,是嗎?從流中讀取只是獲取流中的數據,而不會刪除流中的內容。 –
你甚至讀過ostringstream的文檔,尤其是它的成員函數,尤其是flush嗎? – PlasmaHH
@PlasmaHH yup,它說'flush:Flush output stream buffer'。我認爲這會解決問題。我很困惑,因爲我使用它的方式,它不是 – Daniel