前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C 文件读写2

C 文件读写2

作者头像
饶文津
发布2020-06-02 15:30:19
5710
发布2020-06-02 15:30:19
举报
文章被收录于专栏:饶文津的专栏

feof()

代码语言:javascript
复制
int  feof(FILE *stream);

在执行读文件操作时,如果遇到文件尾,则函数返回逻辑真(1);否则,则返回逻辑假(0)。

feof()函数同时适用于ASCII码文件和二进制文件。

处理二进制文件一般要用fread()和fwrite()函数。

fread()

代码语言:javascript
复制
int  fread(void *buffer,int size,int count,FILE * stream);

读一个数据块,从文件流stream中读取count个每个大小为size的元素到buffer中。

fwrite()

代码语言:javascript
复制
int  fwrite(void *buffer,int size,int count,FILE * stream);

将buffer所指向的数组的内容写入stream所指向的流中。

size表示单个数组元素的大小, 最多写入count 个数组元素。

流的文件位置指针根据成功写入的字节数递增。

函数返回成功写入的元素个数,如果遇到写错误,返回值可能小于count。

rewind()

代码语言:javascript
复制
int rewind(FILE * stream);

使文件位置指针指向文件头。

fseek()

代码语言:javascript
复制
int fseek(FILE *stream,位移量,参照点);

修改文件位置指针使其指向任一字节处。

(1)参照点(3种取值):

SEEK_SET ──值为0,表示文件头

SEEK_CUR──值为1,表示当前位置

SEEK_END──值为2,表示文件尾

(2)位移量:

以参照点为起点,向前(当位移量>0时)或后(当位移量<0时)移动的字节数。

在ANSI C标准中,要求位移量为long int型数据。

ftell()

代码语言:javascript
复制
long ftell(FILE *stream);

返回文件当前位置

顺序存取文件特点:

通常是文本文件,使用fscanf和fprintf函数。

文件中的记录可以有不同的长度。

不能直接快速地访问文件中的某一记录,而必须从文件中第一个记录开始访问。

新的记录只能插入到文件尾。

随机存取文件特点:

通常是二进制文件,使用fread和fwrite函数

文件中的记录具有相同的长度。

能够直接快速地定位、访问文件中的某一记录。

新记录可以插入到希望的位置。

摘自计导PPT课件

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-04-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档