如何将多个文件流合并为一个内存二进制流? [英] How to combine several file streams to one memory binary stream?

查看:128
本文介绍了如何将多个文件流合并为一个内存二进制流?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试如下,但是ostream无法实例化?

I tried as below, but ostream cannot be instantiate?

ifstream ifs1("file1");<br />ifstream ifs2("file2");<br />ostream oss;<br />oss << ifs1 << ifs;

推荐答案

ostream是抽象基类-这就是为什么无法实例化它.另外,您不能在流上使用插入运算符来获取所需的内容.

所以...内存二进制流"是什么意思?如果您使用的是字符串,则应该可以使用:

ostream is an abstract base class - that''s why you can''t instantiate it. Also, you can''t use the insertion operator on streams to get what you''re wanting.

So...what do you mean by "memory binary stream"? If you were using strings, then this should work:

ifstream ifs1("file1");<br />ifstream ifs2("file2");<br />ostringstream oss;<br />std::copy(std::istream_iterator<char>(ifs1), std::istream_iterator<char>(), std::ostream_iterator<char>(oss));<br />std::copy(std::istream_iterator<char>(ifs2), std::istream_iterator<char>(), std::ostream_iterator<char>(oss));






这篇关于如何将多个文件流合并为一个内存二进制流?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆