boost::iostreams を使用して char* を読み書きするためのストリーム バッファを構築しようとしました。
class MemBuf : public std::streambuf
{
public:
MemBuf(char* s, std::size_t n)
{
setg(s, s, (char*)s+ n);
}
};
読み取りは正常に機能します:
char myreadBuff[100];
myreadBuff[0] = 'a';
MemBuf mb (myreadBuff, 100);
istream istr (&mb);
cout << istr;
しかし、書き込みは機能しません:
char mywriteBuff[100];
MemBuf mb(mywriteBuff, 100);
ostream ostr($mb);
ostr << "hello world";
cout << mywriteBuff;
何が欠けている?
どうも