当前位置: 技术问答>linux和unix
linux下用fopen和fread,fwrite来读写一个文件,为什么里面的数据会变????
来源: 互联网 发布时间:2017-03-28
本文导语: 打开读文件:yuyv_fp = fopen(yuyv_file_name, "rb"); 打开写文件:yuv420_fp = fopen(yuv420_file_name, "wb"); uint8_t yuv_frame[640*480*2]; 读:fread (yuv_frame,1,to_read_bytes, yuyv_fp); 写:fwrite(yuv_frame,1,640*480*2, yuv420_fp); 循环一定次...
打开读文件:yuyv_fp = fopen(yuyv_file_name, "rb");
打开写文件:yuv420_fp = fopen(yuv420_file_name, "wb");
uint8_t yuv_frame[640*480*2];
读:fread (yuv_frame,1,to_read_bytes, yuyv_fp);
写:fwrite(yuv_frame,1,640*480*2, yuv420_fp);
循环一定次数后读写完
我只是简单的读取源文件的内容然后将其写到目标文件内
这里源文件和目标文件按理说应该是一样的
可是用cmp -l 或是 cmp -s 命令得到的结果都是说两者不相同
想请问下大家看下小弟程序是哪里不妥 多谢多谢!!
打开写文件:yuv420_fp = fopen(yuv420_file_name, "wb");
uint8_t yuv_frame[640*480*2];
读:fread (yuv_frame,1,to_read_bytes, yuyv_fp);
写:fwrite(yuv_frame,1,640*480*2, yuv420_fp);
循环一定次数后读写完
我只是简单的读取源文件的内容然后将其写到目标文件内
这里源文件和目标文件按理说应该是一样的
可是用cmp -l 或是 cmp -s 命令得到的结果都是说两者不相同
想请问下大家看下小弟程序是哪里不妥 多谢多谢!!
|
你每次都读到同一个地方yuv_frame么?
readed_bytes = fread (yuv_frame,1,to_read_bytes, yuyv_fp);
因该readed_bytes = fread (yuv_frame +total_read_bytes ,1,to_read_bytes, yuyv_fp);
readed_bytes = fread (yuv_frame,1,to_read_bytes, yuyv_fp);
因该readed_bytes = fread (yuv_frame +total_read_bytes ,1,to_read_bytes, yuyv_fp);