fread读取yuv图像文件不完整的问题

      症状:

      今天测试视频处理算法,读取yuv图像数据,老是没按自己的意图出结果,后来测试代码,发现直接fread,然后原封不动的fwrite,虽然文件大小是正常的,但保存的图像帧的后部分全为0;

     原因:

     window中文件读取很文本文件和二进制,默认是文本文件方式,该方式遇到\0,函数就认为到了末尾,不往下读下去了。

    解决:

    fopen文件的打开方式设置为二进制读取方式

    if((fin=fopen("file","rb"))==NULL) 
        printf("Can not open the file!");

你可能感兴趣的:(二进制文件,fread)