Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
1. 把文件读入到buffer
      std::ifstream ifs("d:\\test.jpg", std::ios::in | std::ios::binary);
      std::vector<char> data((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());

注意:这里使用的是stream buffer的迭代器,而不是stream迭代器。因为这里的以binary把数据保存到buffer,若用stream,则以文本格式。

2. 把buffer存入stream
stl提供的stream有fstream系列和stringstream系列。stringstream也可以存放binary格式。这里用boost提供的bufferstream,让代码看起来更简介。
      boost::interprocess::bufferstream input_stream(&data[0], data.size());
      output(input_stream, "test.jpg");
posted on 2012-11-07 11:04 Enic 阅读(300) 评论(0)  编辑 收藏 引用 所属分类: stl陷阱与技巧

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理