Я работаю над функцией, которая манипулирует stringbuf, и мне нужно сохранить это в файле.
Если бы я мог передать stringbuf напрямую в filebuf ofstream, это было бы огромным преимуществом.
Я знаю, что оба используют объект streambuf, чем я могу каким-то образом заменить streambuf filebuf на поток моего 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;
}
Вам просто нужно сделать так, как вы написали строку, и использовать свою функцию. использование fFile << MyPb.rdBuff();
Это должно работать
Других решений пока нет …