“第三十四天” 文件

本文介绍了C语言中用于文件操作的函数,如fseek用于定位文件指针,ftell返回偏移量,rewind重置指针到文件起始,feof检测文件结束,以及feof和ferror的区别,特别强调了在文本文件和二进制文件读取中的应用。
摘要由CSDN通过智能技术生成

        fseek:根据文件指针的位置和偏移量来定位文件指针

int fseek(FILE *stream, long int offset, int whence);
//stream 是指向已打开文件的指针,可以是 FILE 类型的指针。
//offset 是要移动的偏移量,以字节为单位。正值向文件的末尾方向移动,负值向文件的起始位置移动。
//whence 定义了 offset 如何解释。它可以取以下三个值之一:
//SEEK_SET:从文件起始位置开始偏移 offset 个字节。
//SEEK_CUR:从当前文件指针位置开始偏移 offset 个字节。
//SEEK_END:从文件末尾位置开始偏移 offset 个字节。
//fseek 的返回值通常用于检查操作是否成功。如果成功,返回值为0,否则返回非零值(通常是-1)。

上面三个if的判断条件后面多打了一个分号 ,使用perror函数一直执行,请改正。

        ftell:返回文件指针相对起始位置的偏移量

long int ftell(FILE *stream);

        rewind:让文件指针的位置回到文件的起始位置。

void rewind(FILE* stream);

        文本文件和二进制文件

        文件读取结束的判定:

        feof :C标准库中的一个函数,用于检查文件流的文件结束标志(end-of-file,EOF)。它用于确定文件指针是否已经达到了文件的末尾。

int feof(FILE *stream);
//stream 是指向已打开文件的指针,可以是 FILE 类型的指针。
//feof 函数返回一个整数值,如果文件流 stream 已经达到了文件的末尾,
则返回非零值(通常是1),否则返回0。

在文件读取过程中,不能用feof函数的返回值直接用来判断文件的结束与否。而是应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束

1、文本文件读取是否结束,判断返回值是否为EOF(fgetc),或者NULL(fgets);

2、二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。

        ferror:函数是C标准库中的一个函数,用于检查文件流的错误标志。它用于确定之前的文件操作是否失败,并且在发生错误时返回非零值。

int ferror(FILE *stream);
//stream 是指向已打开文件的指针,可以是 FILE 类型的指针。
//ferror 函数返回一个整数值,
//如果文件流 stream 上的错误标志已被设置,则返回非零值(通常是1),否则返回0。

文本文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值