打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C语言函数fread() , fwrite() ,fseek()用法分析

网上已经有不少关于c语言函数fread() 和fwrite() 用法分析的文章,在此将这两个函数的用法写下来,是为了巩固所学,加深印象,也为了日后方便查询复习比较,如果能帮助到某些朋友,则是意外的惊喜。

fwrite()函数的意义是将某二进制数据写到指定的 文件流。函数的原型为: 

 size_t fwrite (const void *buffer, size_t size, size_t num, FILE *stream)

四个函数参数的意义分别为:1、const  void *buffer 为指向二进制数据来源的指针;2、size_t size 为每个数据单元所占的字节数;

3、size_t num 为需要读取的数据单元的个数; 4、FILE *stream 为目的文件指针。

返回值为实际写入目的文件的数据单元个数。 范例如下:

#include #include void main(){ FILE *lb; char a[] = 'Time is fast'; if (NULL == (lb = fopen('test.txt', 'w+'))) //!<打开文件 {="" printf('fail="" to="" open="" the="" file');="" exit(exit_failure);="" }="" fwrite(="" a,="" sizeof(a),="" 1,="" lb);=""><把a中数据写入文件lb fclose(lb);="" return="">

函数fseek()的原型是:int fseek(FILE *stream, long offset, int fromwhere)

后两个参数的意义分别为:

1、long offset 为偏移量,正数表示正向偏移(向尾部偏移),负数表示负向偏移(向首部偏移); 

2、int fromwhere 为偏移的起始点,对于fromwhere ,函数fseek定义了三个位置,对应如下:

SEEK_SET(对应 0):文件开头;

SEEK_CUR(对应 1):文件指针所指当前位置;

SEEK_END(对应2):文件结尾;

FILE *fp;

fseek(fp, 0, SEEK_SET); //!<>

fseek(fp, 100, SEEK_CUR); //!<>

fseek(fp, -100, SEEK_END); //!<>

3、返回值:  如果函数执行成功,FILE *stream将指向以fromwhere 为起始点,偏移offset个字节的位置,返回返回0。若函数执行失败(比如offset超过了文件自身的大小),则不改变stream指向的位置,返回非0值。

若文件偏移超出了文件末尾位置,还是返回0,;若往回偏移超出了文件首部,返回-1,。


函数fread() 的原型是:size_t fread( void *buffer, size_t size, size_t num,FILE *stream)

四个参数的意义可参考fwrite()。稍微不同之处是:fwrite()是将数据从*buffer 写到 FILE *stream;而fread()是将数据从

FILE *stream写到*buffer,是一个相反的过程。范例如下:

#include #include void main(){ FILE *lb; char a[] = 'Time is fast'; char b[20]; if (NULL == (lb = fopen('test.txt', 'w+'))) //!<打开文件 {="" printf('fail="" to="" open="" the="" file');="" exit(exit_failure);="" }="" fwrite(="" a,="" sizeof(a),="" 1,="" lb);=""><把a中数据写入文件lb fseek(lb,="" 0,="" seek_set);=""><把指针lb定位到文件初始位置 fread(b,="" sizeof(a),="" 1,="" lb);=""><从lb指向的地址开始将一定长度数据写到b printf('a[]="%s\n'," a);="" printf('b[]="%s\n'," b);="" fclose(lb);="" return="">


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
文件操作
C语言文件操作函数大全
有关操作文本文件的一些问题
C/C++文件的操作(fread() fwrite())
C语言常见文件操作函数总结详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服