Linux c/c++编程--feof函数
函数原型:
int feof ( FILE * stream );
头文件:
#include <stdio.h>
参数:
stream
FILE结构的指针。指向一个文件流对象的指针。例如:
FILE * fp = fopen("test.ini");
fp 即这个指向文件流test.ini 的指针。可以作为feof函数的参数。
feof(fp);
返回值:
如果文件结束符被设置,则返回非0值,否则返回0。
即如果 feof(fp) == 0 ,说明还没到文件的结尾。
而如果 feof(fp) != 0 , 说明文件指针已经读取越过了EOF,文档已经到结尾。
函数说明:
EOF(End Of File)文件结束符,它的意思是,文档的结尾都有一个隐藏字符”EOF”,当程序读取它的时候,就会知道文件已经到达结尾。通常使用while循环加EOF判断作为读取结束的标志。
EOF 是一个宏定义,它的值通常为 -1,但它依系统有所不同。
feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。
feof是判断文件指针是否越过(或者叫读取)了EOF标记。
通过调用如下函数 clearerr, rewind, fseek, fsetpos or freopen 可以清空feof 的文件指针。或者重新打开文件,也会重新设置文件指针。
例子:
1,获取文件的字符个数。读取文件myfile.txt, 并一个个的读取里面的字符,当遇到EOF时则停止。输出字符个数。
/* feof example: byte counter */
#include <stdio.h>int main ()
{FILE * pFile;int n = 0;pFile = fopen ("myfile.txt","rb");if (pFile==NULL) perror ("Error opening file");else{while (fgetc(pFile) != EOF) {++n;}if (feof(pFile)) {puts ("End-of-File reached.");printf ("Total number of bytes read: %d\n", n);}else puts ("End-of-File was not reached.");fclose (pFile);}return 0;
}
参考资料:
1, 网址:http://www.cplusplus.com/reference/cstdio/feof/?kw=feof
转载于:https://my.oschina.net/PMNaYxT/blog/1923969
Linux c/c++编程--feof函数相关推荐
- linux下socket编程读写函数
linux下socket编程,实现服务器与客户端的通信之后,在同一个虚拟机上,打开两个shell,一个运行服务器程序,一个运行客户端程序,课相互发送数据. 如果使用的是recv接收函数,当关闭客户端或 ...
- Linux 下socket编程 connect()函数返回-1(error:Connection refused)
一.背景 系统:CentOS7 64位 物理机 IP:192.168.2.199/24 使用端口:9999 二.问题描述 在tty1上运行服务器程序,在tty2上运行客户端程序 若连接成功,则服务器程 ...
- Linux socket 网络编程常用函数总结
1.字节序函数 #include <netinet.h> uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t ...
- Linux系统编程—文件—fputc、fgetc、feof函数
一.fputc函数 函数格式:int fputc (int c, File *fp) 函数功能: 将字符c写到文件指针fp所指向的文件的当前写指针的位置. 参数:c 为要写入的字符,虽然函数被定义为整 ...
- Linux环境高级编程函数,Linux环境高级编程--出错处理(CLStatus)
很多程序库对外提供若干类,每个方法出错时如何告知调用者是否出错,以及出错码(在Linux上在error.h中的全局errno就是保存我们Linux程序执行的出错码的)?方法很多,为了简化起见,函数将返 ...
- 进程函数一步步理解Linux进程(2)--进程编程进程函数
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 0. 说明 作者:Gao Peng<gaopenghigh@gmail.com> ...
- Linux 与 Python编程2021 经典函数实例 educoder实训
第1关:递归函数 - 汉诺塔的魅力 编程要求 本关的编程任务是补全src/step1/recursive.py文件的代码,实现相应的功能.具体要求如下: 定义一个函数fact(n),实现的功能是对输入 ...
- LINUX下Socket编程 函数格式详解
你需要了解的一些系统调用: socket() bind() connect() listen() accept() send() recv() sendto() recvfrom() close() ...
- Linux C编程 itoa()函数 atoi()函数
今天在Ubuntu下编程,发现Linux内核中只有atoi()函数,被包含在stdlib.h头文件中,而没有itoa()函数,不过,itoa()函数的功能可以用sprintf()函数代替.如 int ...
最新文章
- DLL的高级操作技术——Windows核心编程学习手札之二十
- RPC调用框架比较分析--转载
- java读取 png_如何让java的ImageBuffer正确读取PNG文件?
- androidstuido_schooltest_6_media_service
- 69. x 的平方根 golang
- c盘java文件误删_java获取C盘下的隐藏目录文件名称
- 宏基因组多少钱一个样_太阳能路灯价格是多少钱一盏(12米高杆灯报价)
- 全能型AI!用通用预训练感知模型处理多模态多任务!商汤西交港中文提出:Uni-Perceiver...
- python教程视频-Python系列视频(一)——Python语言基础
- 指定linux软件安装路径
- iOS网络请求 get - post 区别
- 【视频】CCNA——小凡模拟器的简单介绍和使用
- layUI中table重载后表头时间控件失效解决方法,已实践
- 用c语言编写游戏中秋博饼,描写中秋节博饼的作文600字
- godaddy服务器内网站转移,2021年Godaddy最新域名转出教程 | Godaddy美国主机中文指南...
- 【异常处理】devcpp编译时 “源文件未编译”
- 两款开关电源的纹波对比
- js html显示emoji表情,canvas绘制一个常用的emoji表情
- 如何用Python面向对象实现盖伦和瑞文互殴?
- 如何去高效的学习?怎样克服?