症状:
今天测试视频处理算法,读取yuv图像数据,老是没按自己的意图出结果,后来测试代码,发现直接fread,然后原封不动的fwrite,虽然文件大小是正常的,但保存的图像帧的后部分全为0;
原因:
window中文件读取很文本文件和二进制,默认是文本文件方式,该方式遇到\0,函数就认为到了末尾,不往下读下去了。
解决:
fopen文件的打开方式设置为二进制读取方式
if((fin=fopen("file","rb"))==NULL)
printf("Can not open the file!");