C 库函数 - feof()

C 库函数– fread() 摘要: fread() 是 C 语言标准库函数(需包含 <stdio.h>),用于从文件流中读取数据至内存缓冲区。其原型为 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream),参数分别指向目标缓冲区、数据块大小、块数量和文件流。返回值是实际读取的块数,可能因 EOF 或错误小于请求值。 功能:支持二进制/文本文件读取,按 size*nmemb 字节读取数据,文件指针自动后移。需注意缓冲区大小、错误检查(结合 feof( 阅读详情

feof()判断文件结尾

feof函数读取文件最后一个字符的时候依然会返回0,表明没有到达文件结尾,只有再往后读取字符(越过最后一个字符),feof()才会返回一个非零值,表示到达文件结尾。

#include <stdio.h>
#include <string.h>
int main()
{
    char StrTmp[80];
    memset(StrTmp,0,sizeof(StrTmp));
    FILE *fp;
    fp=fopen("test.txt","r");
    while(!feof(fp))
    {
        fscanf(fp,"%s",StrTmp);
        if(feof(fp))
        {
            break;
        }
        printf("%s\n\n",StrTmp);
    }
    fclose(fp);
    return 0;
}

在这里插入图片描述

fread fwrite 读写文件(按照字节来计算)

feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0

    //读取文件
    while(!feof(plain))
    {
        //每次读16个字节,并返回成功读取的字节数
        if((count = fread(dataBlock,sizeof(unsigned char),16,plain)) == 16)
        {		
            fwrite(outdata,sizeof(unsigned char),16,cipher);
        }
    }

fscanf fprintf 写入文件,打印文件

/* fscanf example */
#include <stdio.h>

int main ()
{
  char str [80];
  float f;
  FILE * pFile;

  pFile = fopen ("myfile.txt","w+");
  fprintf (pFile, "%f %s", 3.1416, "PI");
  rewind (pFile);
  fscanf (pFile, "%f", &f);
  fscanf (pFile, "%s", str);
  fclose (pFile);
  printf ("I have read: %f and %s \n",f,str);
  return 0;
}

参考博客:

  1. 关于feof机制的详解
  2. cplusplus_fscanf
C语言文件操作中的 `feof` 函数:检查文件结束标志 feof在C语言中,feof函数是一个非常有用的工具,用于检查文件是否已经读取完毕。它帮助我们在读取文件时避免越界访问,从而保证程序的正确性。了解并正确使用feof是文件操作中的一项重要技能。feof函数用于检查文件是否到达文件末尾,返回非零值表示到达末尾。feof应该在读取操作后使用,而不是在读取之前。在使用feof时,要小心不要与EOF常量混淆。正确地使用feof,你将能够更高效地处理文件操作,避免读取时的潜在错误!🚀。 阅读详情

相关推荐

第五章习题6-求1!十2!+3!十4!十…十20!

希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,支持一下笔者吧~

Larry的博客 781

feof()原理和用法

一、feof()是什么? feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0 一般在文件操作,中经常使用feof()判断文件是否结束。 二、feof()的经典错误 根据这个函数的定义,一般大家都是这样使用的,但是这样使用,文件中无论是否有内容,都会被判断为“文件不为空”。 #include&amp;lt;stdio.h&amp;gt; int mai...

konghouy的博客 16万+

Geant4 学习笔记(一):实现multi-thread多线程

简单修改实现Geant4多线程

weixin_52417815的博客 6083

feof函数的正确使用

在文件读取的过程中,feof函数经常被误用来判断文件是否结束。正因为如此feof函数常常与ferror函数配合使用。

m0_69023444的博客 5185

最全中文停用词表(可直接复制)

最全的停用此表整理 词表名 词表文件 中文停用词表 cn_stopwords.txt 哈工大停用词表 hit_stopwords.txt 百度停用词表 baidu_stopwords.txt 机器智能实验室停用词库 scu_stopwords.txt 以上停用词表链接:https://github.com/goto456/stopwords 以下是我常用的1893个停用词,可直接复制 ! " # $ % & ' ( ) * + , - -- . .. ... ....

dilifish的博客 12万+

Ubuntu 20.04 LTS下5分钟搞定ONLYOFFICE协作空间社区版(Docker版保姆级教程)

本文提供了一份在Ubuntu 20.04 LTS系统上,通过Docker快速部署ONLYOFFICE协作空间社区版的保姆级教程。内容涵盖从系统准备、Docker环境搭建,到执行自动化安装脚本、完成Web初始化的全流程,并详细说明了部署后的安全配置、数据备份及基本运维要点,帮助用户高效构建私有、安全、可控的团队文档协作平台。

weixin_28826961的博客 260

feof函数的理解(你真的了解feof函数吗?)

feof函数的全新认识(带你见证不一样的feof理解)

qq_67342126的博客 2052

SAP COPA实战:手把手教你用CMOD增强搞定自定义特性派生(以客户字段为例)

本文详细介绍了在SAP COPA模块中通过CMOD增强实现自定义特性派生的全流程,以客户字段为例,展示了从特性设计、SPRO配置到特性派生逻辑实现的完整步骤。重点讲解了如何利用CMOD增强技术解决业务需求,提升获利能力段分析的灵活性和准确性。

weixin_30275415的博客 428

C语言程序中feof,C 库函数

C 库函数 - feof()描述C 库函数 int feof(FILE *stream) 测试给定流 stream 的文件结束标识符。声明下面是 feof() 函数的声明。int feof(FILE *stream)参数stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。返回值当设置了与流关联的文件结束标识符时,该函数返回一个非零值,否则返回零。实例下面的实例演示了 ...

weixin_35504293的博客 256

基于STM32F1XX 、HAL库的OPT4001-Q1环境光传感器驱动应用C语言程序设计

OPT4001-Q1 的输出是半对数 的,具有 9 个二进制对数满量程照度范围,每个范围内具有高度线性响应,使得 PicoStar™ 型号的测量能力为 312.5μlux 至 84klux,USON 型号的测量能力为 400µlux 至 107klux。// 禁用中断(示例)

PP_Cottage的博客 461

【短距离通信】【WiFi】精讲802.11n/ac/ax mpdu和ampdu最大长度

在 Wi-Fi 标准(802.11n、802.11ac 和 802.11ax)中,和是数据传输的核心概念。理解它们各自的作用以及不同标准下的最大长度限制,有助于深入了解 Wi-Fi 的性能优化机制。以下是对802.11n802.11ac和802.11ax中MPDU和A-MPDU最大长度的详细技术分析和对比。1. MPDU 和 A-MPDU 的基本概念MPDU 是经过 MAC 层处理后的数据单元,主要由MAC层数据帧和物理层的传输头部(PHY headers)组成。

风云说通信 1106

php中feof函数,C 库函数

C 库函数 - feof()描述C 库函数 int feof(FILE *stream) 测试给定流 stream 的文件结束标识符。声明下面是 feof() 函数的声明。int feof(FILE *stream)参数stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。返回值当设置了与流关联的文件结束标识符时,该函数返回一个非零值,否则返回零。实例下面的实例演示了 ...

weixin_39575737的博客 81

2026华为OD机试(JAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

关于C/C++的一些笔记

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

weixin_45242691的博客 132

IMX6ULL---从零开始移植uboot-imx

IMX6ULL---从零开始移植uboot-imx

weixin_42162924的博客 1028

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

文件I/O函数:fgetc()函数

fgetc()函数 描述: C 库函数 int fgetc(FILE *stream) 从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动 声明: int fgetc(FILE *stream) 参数: stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了要在上面执行操作的流。 返回值: 该函数以无符号 char 强制转换为 int 的形...

云龙的博客 383

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C语言库函数的返回值的一般规则

c语言基础,C语言库函数的返回值的一般规则

sihsjsn的博客 1317

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

其他标准I/O函数(fread、fwrite、feof、ferror)

当上一次输入调用检测到文件结尾时,feof()函数返回一个非零值,否则返回0.当读写出现错误时,ferror()函数返回一个非零值,否则返回0。假设要读取下一个冒号之前的所有字符,但是不包括冒号本身,可以使用getchar()或getc()函数读取字符到冒泡,然后用ungetc()函数把冒号放回输入流中。除此之外,它还包含错误和文件结尾的指示器、一个指向缓冲区开始出的指针、一个文件标识符和一个计数(统计实际拷贝进缓冲区的字节数)。当设置了与流关联的文件结束标识符时,该函数返回一个非零值,否则返回零。

2303_80078385的博客 1057

C 库函数 feof(FILE*) 判断文件末尾的问题

C 库函数 feof(FILE*) 判断文件末尾的问题 A Problem on Using C Library Function feof(FILE*) to Judge The End of A File 我用 C 写了一个程序读取 32768 字节大小的文件,每次读 16 个字节,应该是 2048 次读完。但结果读了 2049 次,并且最后两次的数据相同,似乎重复读取了最后 16

jfkidear的专栏 1801

谈谈EOF与feof()

很多程序在读取文本文件时,经常会出现一个有趣的现象:程序会把文件的最后一行读两遍。因此很多软件都要求文本文件要在最后添加一个空行。造成这种尴尬的原因主要在于编程时对于如何判断文件末尾产生了误解。 以C语言为例,很多教材、参考书等都给出类似下面的代码来解释如何判断文件结束: CODE:  [Copy to clipboard]         /* fp是已经成功打开的可读文件指针

学了,会了,忘了,所以---记录 1091

文件I/O函数:feof()函数

feof()函数 描述: C 库函数 int feof(FILE *stream) 测试给定流 stream 的文件结束标识符。 声明: int feof(FILE *stream) 参数: stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了流。 返回值: 到文件结尾时返回非零值,否则返回零。 用法: #include <stdio.h> int m...

云龙的博客 449

文件检测函数 feof, ferror,clearerr C库函数

文件检测函数 C语言中常用的文件检测函数有以下几个。 一、文件结束检测函数feof函数调用格式: feof(文件指针); 功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。 二、读写文件出错检测函数ferror函数调用格式: ferror(文件指针); 功能:检查文件在用各种输入输出函数进行读写时是否出错。 如ferror返回值为0表示未出错,否则表示有错。 三、文件出错标志和文件结束标志置0函数clearerr函数调用格式: clearerr(文件指针); 功能:本函数用于清除出错标

flyingqr的专栏 8339

C语言中的库函数feof和ferror

功能:检查指定文件流(stream)上是否发生了错误。返回值:如果文件流上有错误发生,返回一个非零值(true)。如果没有错误发生,返回 0(false)。说明:当对文件进行读写操作时,如果发生错误(例如:磁盘已满、权限问题、硬件故障等),文件流会记录一个错误标志。ferror 函数就是用来检查这个错误标志的。一旦错误标志被设置,它将一直保持,直到调用 clearerr() 函数清除该标志,或者关闭文件。

eTaU6R1Z2的博客 216

文件检测函数 ferror feof

文件检测函数  C语言中常用的文件检测函数有以下几个。  一、文件结束检测函数feof函数调用格式: feof(文件指针);  功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。  二、读写文件出错检测函数ferror函数调用格式: ferror(文件指针);  功能:检查文件在用各种输入输出函数进行读写时是否出错。 如ferror返回值为0表示未出错,否则

lianliange85的专栏 1459

文件检测函数 feof, ferror,clearerr C库函数

文件检测函数 C语言中常用的文件检测函数有以下几个。 一、文件结束检测函数feof函数调用格式: feof(文件指针); 功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。 二、读写文件出错检测函数ferror函数调用格式: ferror(文件指针); 功能:检查文件在用各种输入输出函数进行读写时是否出错。 如ferror返回值为0表示未出错,否则

洪流之源 1115

c语言文件操作(fgetc,fputc,fgets,fputs,fprintf,fscanf,feof,fcntl)

一、open函数 相关函数(read, creat,write,fcntl,close,link,stat,umask,unlink,fopen) 1.功能描述 C 库函数int fgetc(FILE *stream)从指定的流 stream 获取下一个字符(一个无符号字符),并把位置标识符往前移动。 2.函数 所需头文件: int fgetc(FILE *stream) 函数原型: int open(const char *pathname, int flags); int ope..

weixin_49356927的博客 1610
上一篇: 网络模型不收敛的可能原因
下一篇: 理解cpp的重载,重写,重定义
dlvector
博客等级 码龄10年 85粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值