1
我正在为自定义扩展名的文件编写预览处理程序。从IStream读入std :: ifstream
预览处理程序实现IInitializeWithStream接口,该接口使用在Windows资源管理器中选择的文件数据初始化IStream。
现在,我需要对这个数据流执行一些解析操作(文件中的数据是以预定义的自定义格式显示的纯文本)。
为了做到这一点,我需要在std :: ifstream对象中的数据,以便我可以很容易地使用STL来实现所需的输出。
长话短说:我需要一种方法来将数据从IStream转换/填充到std :: ifstream。
在此先感谢。
我有同样的问题它流分成的std :: ostringstream。我看到了使用http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/tutorial/container_source.html实现包装的建议。你是如何解决这个问题的? – user643011 2013-09-27 17:21:17
如果我理解正确,所有你需要做的是: '是<< file.rdbuf();' – 0x499602D2 2014-01-20 19:32:53
@ user643011:我使用IStream接口的Read方法来填充数据到字符缓冲区并将其流使用“<<”运算符转换成std :: ostringstream。 – 2014-02-08 14:22:22