本文主要讲了通过fstream实现视频文件的传输过程。
#include <iostream>
#include <fstream>using namespace std;int main(void)
{ifstream fstrm_read("946709172.avi", ios::binary);ofstream fstrm_write("test.avi", ios::app);char video_data[8192];uint32_t video_data_len;uint32_t video_file_len;uint16_t video_transfer_len;std::streampos video_file_begin;std::streampos video_file_end;if(fstrm_read.is_open() && fstrm_write.is_open()){video_file_begin = fstrm_read.tellg();fstrm_read.seekg(0, std::ios::end);video_file_end = fstrm_read.tellg();video_file_len = video_file_end - video_file_begin;fstrm_read.seekg(0, std::ios::beg);video_data_len = 0;while(video_data_len < video_file_len){if(video_file_len - video_data_len > 8192){video_transfer_len = 8192;}else{video_transfer_len = video_file_len - video_data_len;}fstrm_read.read(video_data, video_transfer_len);fstrm_write.write(video_data, video_transfer_len);video_data_len += video_transfer_len;}fstrm_read.close();fstrm_write.close();}
}
实验结果: