数据写入的代码:
fp1=fopen("record","ab+");
rewind(fp1);
//fseek(fp,0,0);
//fprintf(fp1,"%d",i);
fputc(i,fp);
fclose(fp1);
数据读取的代码:
fp1=fopen("record","rb");
last=fgetc(fp1);
fclose(fp1);
只有第一次输入的数据在第二可以成功读取,在之后我通过用与数据写入一致的代码更新该数据,在之后的读取却似乎更新失败一样,读取的永远是第一次的数据;如果描述不够完整可以提问,求解答!
我尝试过用fprintf更新数据,但造成的是更大的问题.
成功更新数据
数据写入和读取是合在一个程序里运行的吗?
跟你用文件的打开方式相关吧,“ab+”以附加方式读写打开一个二进制文件,若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。