fwrite(fat,sizeof(fat),1,fp);函数是用的这个
因为FAT是int型的,所以写的时候直接写了4字节
而我要放的东西只有两字节
所以后面都多放了2字节的0
就是原来放FF7F 现在放成了FF 7F 00 00
怎么解决呢?改成
short t=(short) fat;
fwrite(&t,sizeof(t),1,fp);
这样的话,什么都没写进去,为什么?
因为FAT是int型的,所以写的时候直接写了4字节
而我要放的东西只有两字节
所以后面都多放了2字节的0
就是原来放FF7F 现在放成了FF 7F 00 00
怎么解决呢?改成
short t=(short) fat;
fwrite(&t,sizeof(t),1,fp);
这样的话,什么都没写进去,为什么?
fwrite(&t,1,sizeof(t),fp);
我查过2进制内容了
我重复写很多个原本应该是一个接一个的FFF7FFF7
现在编程了FFF70000FFF70000
所以是出错了
main()
{
int fat=0x0000F7FF;
short a=(short)fat;
FILE *fp;
int i=0;
fp = fopen("ko.dat", "wb+");
for(i=0; i<5; i++)
fwrite(&a, sizeof(a), 1, fp);
fclose(fp);
return 0;
}