关于二进制文件的输入输出的函数fwrite()和fread()
#include <stdio.h>#include <stdlib.h>
#define LEN 10
int main(void)
{
int arr[LEN]={0,1,2,3,4,5,6,7,8,9};
int arr_2[LEN];
FILE *fp;
if((fp=fopen("bin.txt","w+b"))==NULL)
{
fprintf(stderr,"can`t open bin.txt file");
exit(EXIT_FAILURE);
}
if(fwrite(arr,sizeof(int),LEN,fp)!=LEN)
{
fprintf(stderr,"file write faile");
exit(EXIT_FAILURE);
}
fread(arr_2,sizeof(int),LEN,fp);
if(fclose(fp)!=0)
{
fprintf(stderr,"stream closing failed");
}
for(int i=0;i<LEN;i++)
{
printf(" %d ",arr_2[i]);
}
return 0;
}
这个程序的输出结果是:全部为0,arr_2这个数组的数据全是0,为什么?(我的编译器是C-Free).