我正在处理操作stringbuf的函数,我需要将它保存在一个文件中。 如果我可以将stringbuf直接传递给ofstream的filebuf,这可能是一个巨大的优势。
我知道两者都使用streambuf对象,而不是以某种方式将filebuf的streambuf替换为我的stringbuf流?
请查看下面的代码,以便更好地理解这个想法:
#include <fstream>
#include <sstream>
void printit(std::stringbuf &MyBb) {
std::ofstream fFile("newfile.txt");
fFile.rdbuf(MyBb.rdbuf()); //MyBb doesn't have this member function
//How can I give to fFile the streambuf
//from my stringbuf?
}
int main() {
std::stringbuf MyB;
MyB.sputn("First sentence\n",15);
printit(MyB);
return 0;
}
答案 0 :(得分:-2)
你只需要像写一个字符串并使用你的功能一样。使用fFile << MyPb.rdBuff();
这应该可行