定义一个ostream称为ostrstream,它能附着于一个字符组(C风格字符串),就像ostringstream能附着于一个string一样,但是它并不将字符组复制到ostrstream里面。这个ostrstream应直接提供一种向它的数组参数写入的方式。它可能像下面这样用于在内存中完成格式化:
char buf(message_size);
ostrstream ost(buf,message_size);
do_something(arguments,ost); // 通过ost输出到buf
cout << buf; // ost添加结束的0
如do_something之类的操作可以使用标准输出操作向流ost里写、将ost传递给子操作等。这里不需要检查溢出,因为ost知道数组的大小,在它满时将进入fail()状态。最后,一个display()操作将信息写入“真实的”输出流。当最后的显示操作涉及到写某种比传统的基于行的输出设备更复杂的情况时,这种处理技术就会很有用。例如,来自ost的正文可能需要放置在屏幕上的某个固定大小的区域里。与此类似,将istrstream类定义为一种输入串流,从0结束的字符串中读入。将结束符0作为文件结束。这些strstream都是原始流库的组成部分,通常可以在<strstream.h>里找到。