How do I check if a StringStream variable is empty/null?
myStream.rdbuf()->in_avail()
can be used to get the count of available characters ready to be read in from a stringstream
, you can use that to check if your stringstream
is "empty." I'm assuming you're not actually trying to check for the value null
.
For example if you want to extract an int
from a stringstream
and then see if there were any left over characters (ie. non-numeric) you could check if myStream.rdbuf()->in_avail() == 0
.
Is that something similar to what you're trying to do? I'm not sure if there's better ways but I've done this in the past and it's worked fine for me.
https://en.cppreference.com/w/cpp/io/basic_streambuf/in_avail
EDIT: I see you just updated your question as I posted.
An easy check would be to see if the string content of the stream is empty or not:
#include<assert.h>
#include<sstream>
int main(){
std::stringstream report_string;
report_string << ""; // an empty strin g
//emptiness check of stringstream
assert(report_string.str().empty());
}