How to flush the ostringstream buffer?

  • Thread starter Thread starter Bill Sun
  • Start date Start date
B

Bill Sun

Hi,

I have a quetion about to refresh the ostringstream buffer: like this.

ostringstream buffer;

buffer << 245;
// then the buffer.str() = "245";

......
//next I want using this buffer again but I don't need the content of buffer
before, so
buffer.flush()
buffer << 456;
//here I hope I can get "456" from buffer.str()

but the buffer still is 245456, seem the buffer.flush not take function?

why?


who can help me?

Thanks adanveced,

Bill
 
flush() doesn't clear the stream; it writes any pending [buffered] data
(useful for file streams which hold written data in memory buffer and only
actually write to file when buffer gets full or someone calls flush).
Try seekp(0) to set insert position back to start, thereby emptying string?

Bill
 
Bill Sun said:
I have a quetion about to refresh the ostringstream buffer: like this.

ostringstream buffer;

buffer << 245;
// then the buffer.str() = "245";

.....
//next I want using this buffer again but I don't need the content of buffer
before, so
buffer.flush()
buffer << 456;
//here I hope I can get "456" from buffer.str()

You should use

buffer.str("");

to reset the contents of the buffer to an empty string.

Jonathan
 
Back
Top