#include <stdio.h>
int main(void)
{
FILE *fp;
int i;
unsigned char in[100];
unsigned char out[100];
fp=fopen("a.txt","w+");
if(fp==NULL)
return(1);
for(i=0;i<32;i++)
{
out[i]=i;
fwrite(&out[i],1,1,fp);
}
fclose(fp);
fp=fopen("a.txt","ab+");
if(fp==NULL)
return(1);
for(i=0;i<32;i++)
{
fread(&in[i],1,1,fp);
printf("in[%d]=%x\r\n",i,(unsigned)in[i]);
}
fclose(fp);
return 0;
}结果是in[i]都是0,为什么???
int main(void)
{
FILE *fp;
int i;
unsigned char in[100];
unsigned char out[100];
fp=fopen("a.txt","w+");
if(fp==NULL)
return(1);
for(i=0;i<32;i++)
{
out[i]=i;
fwrite(&out[i],1,1,fp);
}
fclose(fp);
fp=fopen("a.txt","ab+");
if(fp==NULL)
return(1);
for(i=0;i<32;i++)
{
fread(&in[i],1,1,fp);
printf("in[%d]=%x\r\n",i,(unsigned)in[i]);
}
fclose(fp);
return 0;
}结果是in[i]都是0,为什么???
应该是sizof(unsigned char)
不会呀!我刚才把你写的程序试了一下,没有问题呀!我一点都没有改动,
in[i]的值是合适的呀!
你再试试吧!
对了,你建一个console 应用试试!
2.写时参数"wb",读时参数"rb".
不过,我是在linux在用gcc 编译的!
结果不是你所说的都是 0阿,
而是从0-1e
你试试打开文件时用wb+的模式