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 に答える