snippetcppCritical
How do you clear a stringstream variable?
Viewed 0 times
youhowvariableclearstringstream
Problem
I've tried several things already,
both of which don't work.
std::stringstream m;
m.empty();
m.clear();both of which don't work.
Solution
For all the standard library types the member function
The
For clearing the contents of a
is correct, although using:
is technically more efficient, because you avoid invoking the
empty() is a query, not a command, i.e. it means "are you empty?" not "please throw away your contents".The
clear() member function is inherited from ios and is used to clear the error state of the stream, e.g. if a file stream has the error state set to eofbit (end-of-file), then calling clear() will set the error state back to goodbit (no error).For clearing the contents of a
stringstream, using:m.str("");is correct, although using:
m.str(std::string());is technically more efficient, because you avoid invoking the
std::string constructor that takes const char*. But any compiler these days should be able to generate the same code in both cases - so I would just go with whatever is more readable.Code Snippets
m.str(std::string());Context
Stack Overflow Q#20731, score: 960
Revisions (0)
No revisions yet.