欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-12 20:15:28
1.功能: fread()──从fp所指向文件的当前位置开始,一次读入size个字节,重复count次,并将读入的数据存放到从buffer开始的内存中; buffer是存放读入数据的起始地址(即存放...
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 );