2017-01-08 9 views
0

Я работаю над функцией, которая управляет stringbuf, и мне нужно сохранить это в файле. Если бы я мог передать stringbuf непосредственно файловому файлу ofstream, это могло бы стать огромным преимуществом.Можно ли передать streambuf stringbuf прямо на filebuf?

Я знаю, что оба используют объект streambuf, чем я могу каким-то образом заменить streambuf файла filbuf на поток строки 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; 
} 

ответ

-1

Вам просто нужно сделать, как вы пишете строку к нему и использовать функцию. Использовать fFile << MyPb.rdBuff(); Возможно, это должно работать