[問題] ostringstream物件怎麼清空?

看板C_and_CPP (C/C++)作者 (阿神)時間13年前 (2013/04/04 16:35), 編輯推噓1(1013)
留言14則, 7人參與, 最新討論串1/1
C++ 我寫了一段包含下面的程式 ostringstream output_string; output_string << sum[i]; output_string.clear(); 可是在這之後 cout << output_string.str() << endl; 還是顯示出sum[i]的值... 請問clear不能清空ostringstream嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.128.191

04/04 16:43, , 1F
ostringstream.flush()
04/04 16:43, 1F

04/04 16:52, , 2F
output_string.str("");
04/04 16:52, 2F

04/04 17:07, , 3F
output_string算是一個串流物件,clear()是清除串流狀態
04/04 17:07, 3F

04/04 17:58, , 4F
用2F的方法OK了~可是我用clear可以清空istringstream
04/04 17:58, 4F

04/04 17:59, , 5F
算是碰巧成功嗎@@? 另外1F的好像不行
04/04 17:59, 5F

04/04 18:21, , 6F
istringstream應該跟cin差不多~
04/04 18:21, 6F

04/04 18:33, , 7F
c++ reference說str()是用來設定內容的,應該就是用那個清理
04/04 18:33, 7F

04/04 18:41, , 8F
試了一下istringstream的clear()好像清不掉,還是要用str()
04/04 18:41, 8F

04/04 22:38, , 9F
oss.str("");
04/04 22:38, 9F

04/06 03:26, , 10F
str() method 同時是 getter 也是 setter
04/06 03:26, 10F

04/06 07:54, , 11F
重新初始化?
04/06 07:54, 11F

04/06 08:01, , 12F
這應該也是可用 RAII style 改寫的案例
04/06 08:01, 12F

04/06 08:06, , 13F
未看先猜 output_string << sum[i]; 這行是包在迴圈裡
04/06 08:06, 13F

04/06 08:06, , 14F
其他則是在迴圈外... C Style 的寫法...
04/06 08:06, 14F
文章代碼(AID): #1HNJixRG (C_and_CPP)
文章代碼(AID): #1HNJixRG (C_and_CPP)