C语言中fread(),fwrite(),fseek()用法和功能

2016-12-12 11:23:43来源:作者:人点击

1.功能: fread()──从fp所指向文件的当前位置开始,一次读入size个字节,重复count次,并将读入的数据存放到从buffer开始的内存中; buffer是存放读入数据的起始地址(即存放何处)。 fwrite()──从buffer开始,一次输出size个字节,重复count次, 并将输出的数据存放到fp所指向的文件中。buffer是要输出数据在 内存中的起始地址(即从何处开始输出)。 一般用于二进制文件的处理。

2.用法:

int fread(void *buffer,int size,int count,FILE *fp);int fwrite(void *buffer,int size,int count,FILE *fp);

3.fseek用法

int fseek(FILE *stream, long offset, int fromwhere);

第一个参数file指针
第二个参数移动的偏移量
第三个参数移动到哪里
分别用3个宏
SEEK_SET 既0 文件开头
SEEK_CUR 既1 文件当前位置
SEEK_END 既2 文件结尾
但不推荐用数字 最好用宏

简言之:
fseek(fp,100L,SEEK_SET);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,SEEK_CUR);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,SEEK_END);把fp指针退回到离文件结尾100字节处。
此函数常用来计算流的长度:

int filesize = fseek( fp, 0, SEEK_END );fseek( fp, 0, SEEK_SET );

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台