Uint16 BlockWrFlash[256]={0};fptr = fopen("codec.bin", "rb"); //加載數(shù)據(jù)ReturnLenth=256;kk=0;while(ReturnLenth==256) //加載代碼{ReturnLenth=fread(BlockWrFlash,sizeof(short),256,fptr);DeviceAddr=kk*0x100;FlashWr(DeviceAddr);delay();kk++;}現(xiàn)在的問題出現(xiàn)在fread返回總是0,正常的是256才對,不知道哪里有問題了,請大大們指教!謝謝!
3 回答

拉風(fēng)的咖菲貓
TA貢獻(xiàn)1995條經(jīng)驗 獲得超2個贊
你沒有檢查fopen不成功的情況,即
fptr = fopen("codec.bin", "rb"); //加載數(shù)據(jù)
后加
if(fptr ==NULL)
{
printf("file can't open!\n");
return ;
}
可能是打開文件錯誤造成的。

慕村225694
TA貢獻(xiàn)1880條經(jīng)驗 獲得超4個贊
"codec.bin"的路徑關(guān)系對么?默認(rèn)走當(dāng)前路徑,但是根據(jù)編譯環(huán)境,可能會有不同路徑效果。嘗試一下用絕對路徑。
fseek設(shè)置一下讀寫位置到文件頭。
如果還不行,你就把打開方式變成可讀寫的二進(jìn)制,然后一次讀一個字節(jié)。
- 3 回答
- 0 關(guān)注
- 1451 瀏覽
添加回答
舉報
0/150
提交
取消