fp=fopen("temp1.dat","w+");
fputc((unsigned char)(i/0x100),fp);
fputc((unsigned char)(i&0xff),fp);
fputc(0x0d,fp);
fputc((0x0a),fp);
fclose(fp);
写的文件中是这样的
01 02 od od oa 01 02 od od oa 01 02 od od oa
里面多了一个OD
fp=fopen("temp1.dat","w+B"); //w+b写二进制
fputc((unsigned char)(i/0x100),fp);
fputc((unsigned char)(i&0xff),fp);
fputc(0x0d,fp);
fputc((0x0a),fp);
fclose(fp);
01 02 od oa 01 02 od oa 01 02 od oa
这样就正常了,
读取的时候
fp=fopen("temp1.dat","r+b");//fp=fopen("temp1.dat","r+");是读不出来0D字符的,
findex=0;
while(!feof(fp))
{
buf[findex++]=fgetc(fp);
if(findex==4)
{
findex=0;
if(buf[2]==0xaa&&buf[3]==0x0a)
{
//if(buf[1]!=0x0a)
{
Adata1[index1]=double(buf[0])*0x100+double(buf[1]);
if(index1 <40)index1++;
}
}
}