症狀:
今天測試視頻處理算法,讀取yuv圖像數據,老是沒按自己的意圖出結果,後來測試代碼,發現直接fread,然後原封不動的fwrite,雖然文件大小是正常的,但保存的圖像幀的後部分全爲0;
原因:
window中文件讀取很文本文件和二進制,默認是文本文件方式,該方式遇到\0,函數就認爲到了末尾,不往下讀下去了。
解決:
fopen文件的打開方式設置爲二進制讀取方式
if((fin=fopen("file","rb"))==NULL)
printf("Can not open the file!");