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 );