C++ - 实现我自己的流

Yip*_*Yay 10 c++ string std stream

你好!我的问题可以通过以下方式描述:

我有一些数据实际上是一个数组,可以表示为char* data与一些size

我还有一些遗留代码(函数),它将一些抽象std::istream对象作为参数,并使用该流来检索要操作的数据.

所以,我的问题是以下 - 将我映射data到某个std::istream对象的简单方法是什么,以便我可以将它传递给我的函数?我想过std::stringstream从我创建一个对象data,但这意味着复制和(我认为)并不是最好的解决方案.

任何想法如何可以这样做使我std::istream的上操作data直接?

谢谢.

rlb*_*ond 10

如果你正在考虑实际创建自己的流,我会看看Boost.Iostreams库.它可以轻松创建自己的流对象.


Pet*_*iak 5

绝对不是最简单的方法,但万一有人想了解std流如何在里面工作,这似乎是一个非常好的介绍,你可以如何推出自己的:

http://www.mr-edd.co.uk/blog/beginners_guide_streambuf