问题
I try to make a module of compression/decompression and then use istringstream for compression and ostringstream for decompression.
My problem is that after filling my istringstream with compression datas, I'm not able to convert this stream into an ostringstream. I try :
iss.rdbuf(oss.rdbuf());
as the in and out type match but it doesn't work.
Do you have any idea ?
Thank in advance.
回答1:
stringstream::rdbuf
doesn't have an overload that takes a parameter. It does, however, inherit the base class version which does have this property:
iss.basic_ios<char>::rdbuf(oss.rdbuf());
The fact that you couldn't use it originally is because the derived class version hides it.
来源:https://stackoverflow.com/questions/19687570/tricks-to-pass-from-a-ostringstream-to-a-istringstream