使用boost的mapped file(mapped_file_source & mapped_file_sink)

来源:互联网 发布:淘宝商机助理下载 编辑:程序博客网 时间:2024/06/07 22:20

<pre name="code" class="cpp">#include <boost/iostreams/device/mapped_file.hpp>std::string src_path = "/Users/alex/Movies/m3u8_videos/dance.mp4";std::string dst_path = "/Users/alex/Movies/m3u8_videos/dance-copy.mp4";void copy_file(){boost::iostreams::mapped_file_params  params_src;params_src.path = src_path;boost::iostreams::mapped_file_source  mf_src;mf_src.open(params_src);if(mf_src.is_open()){unsigned char* p_src = (unsigned char*)mf_src.data();size_t len_src = mf_src.size();boost::iostreams::mapped_file_params  params_dst;params_dst.path = dst_path;params_dst.new_file_size = len_src;boost::iostreams::mapped_file_sink  mf_dst;mf_dst.open(params_dst);if(mf_dst.is_open()){unsigned char* p_dst = (unsigned char*)mf_dst.data();for(size_t i = 0; i < len_src ; i++){*(p_dst + i) = *(p_src + i);}mf_dst.close();}mf_src.close();}}int main(){copy_file();         return 0;}




0 0