求教一个保存数据的问题
以下代码的目的是将buff中的数据,每次400字节存入data_dat.dat文件中unsigned char buff[512*512]={0};
int len = lineByte * bmpHeight; //数据长度
int tem = 0;
FILE *fp;
int i;
for(i=0;i<bmpHeight*bmpWidth;i++)
{
buff[i] = *(pBmpBuf+i);
}
fp=fopen("data_dat.dat","ab");
for(i=0;i*400<len;i++)
{
if((len-i*400)>400)
{
fseek(fp, 400,0);
fwrite(buff,400, 1, fp);
}
else
{
fseek(fp, 400,0);
fwrite(buff,len-i*400, 1, fp);
break;
}
}
fclose(fp);
保存的数据不正确,请问是什么原因?多谢