0

我正在研究操纵 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;
}
4

1 回答 1

-2

您只需要像向其写入字符串并使用您的函数一样。使用fFile << MyPb.rdBuff();这应该可以工作

于 2017-01-08T22:38:22.443 回答