c语言如何直接将整数的值写入二进制文件?而非一串数字组成的字符串?
用函数fprintf(pf, "%d ", i)所写入的是一串字符串,读出来还要进行转换,效率很低。
有没有方法直接将整数的值写入文件,并且读取的时候读取文件中的四个字节就行了?
谢谢
[解决办法]
int x;
FILE *f;
...
fwrite(&x,sizeof(int),1,f);
[解决办法]
fread
[解决办法]
不懂LZ的意思
[解决办法]
good
[解决办法]
楼上几位已经阐述的很清楚拉,我在补充下:
fscanf () 与 fprintf () 函数的读写数据的基本单位是以类型为单位的数据对象。
fread () 与 fwrite () 函数读写的最小单位是字节,所以更加适合处理二进制文件。
int s;
FILE *p;
fread (&s,sizeof (int),1,p);
fwrite (&s,sizeof (int),1,p);
从s的首地址中读、写sizeof (int)长度的数据,一共读、写1次到p指向的文件的当前读写位置。