将一块buffer,直接写到std:istream里,该怎么解决

将一块buffer,直接写到std::istream里
原来是将这块buffer,写到一个临时文件里,然后通过这个文件直接创建一个std::ifstream!!
现在希望不生成任何临时文件,直接将这块buffer里的内容,写到std::istream里,供之后的使用。
请各位大神帮我想想办法。
在线等啊!
------解决方案--------------------
std::stringstream
------解决方案--------------------

#include "stdafx.h"
#include <iostream>
#include <strstream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
char* p = "abcd";
strstreambuf  buf(p, strlen(p));
istream is(&buf);

char ch;
is >> ch;

cout << ch << endl;

return 0;
}