feof()函数的文件操作
feof()函数在文件操作时,用于判断文件是否结束。如果文件结束,则返回非0值,否则返回0。
对于文件来说,无论是空文件,还是存有信息的文件。文档的结尾都有一个隐藏字符”EOF”,意思就是end of file,指示文件的结束字符。
#include<stdio.h>
#include<stdlib.h>int main(void)
{FILE *p;if ((p = fopen("D:\\Users\\ASUS\\Desktop\\a123.txt", "rb"))==NULL){printf("%s\n","can not open file");exit(0);} //getc(p);if (feof(p)){printf("file is empty.");}else{printf("file is not empty.");}return 0;}
这里输出结果始终是file is not empty.因为无论文件有无内容,都会存在EOF字符。feof函数的指针ptr始终在文件的开头第一个字符往后看是否有内容,看到了EOF所以判断文件不为空。
正确的做法是指针往后移1位。跳过EOF。采用getc()函数。因为其读取第一个字符之后指针后移一位。
#include<stdio.h>
#include<stdlib.h>int main(void)
{FILE *p;if ((p = fopen("D:\\Users\\ASUS\\Desktop\\a123.txt", "rb"))==NULL){printf("%s\n","can not open file");exit(0);} getc(p);if (feof(p)){printf("file is empty.");}else{printf("file is not empty.");}return 0;}
#include<stdio.h>
#include<stdlib.h>int main(void)
{FILE *p;if ((p = fopen("D:\\Users\\ASUS\\Desktop\\asd.txt", "rb"))==NULL){printf("%s\n","can not open file");exit(0);} getc(p);if (feof(p)){printf("file is empty.\n"); }else{printf("file is not empty.\n");rewind(p);//将指针跳回到文件开头第一个字符 int a;//p = fopen("D:\\Users\\ASUS\\Desktop\\asd.txt", "r");fscanf(p,"%ld",&a);//读取文本里存的数并显示出来printf("%d", a); }return 0;}
读取全部的文件内容并打印出来
#include<stdio.h>
#include<stdlib.h>int main(void)
{FILE *p;if ((p = fopen("D:\\Users\\ASUS\\Desktop\\asd.txt", "rb"))==NULL){printf("%s\n","can not open file");exit(0);} getc(p);if (feof(p)){printf("file is empty.\n"); }else{printf("file is not empty.\n");rewind(p);//将指针跳回到文件开头第一个字符 int a;while(1){a = fgetc(p);if(feof(p)){break ;}printf("%c", a);} }return 0;}
feof()函数的文件操作相关推荐
- PHP使用feof()函数读文件的方法
这篇文章主要介绍了PHP使用feof()函数读文件的方法,以实例形式对比了正确与错误的用法,阐明了feof()函数的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP使用feof()函数读文件的方法 ...
- Python函数 (函数与文件操作)
函数概念 定义函数 调用函数 作用域 文件操作 访问模式 说明 文件读取 函数练习 打印一个一条横线函数 打印多条线 求三个数和 古诗的练习 函数概念 开发程序的时候,需要某个模块多次,但是为了提高 ...
- python第三节函数,文件操作
文件操作#以读的方式打开文件# f=open('c.txt',encoding='utf-8')# print(f)# data = f.read() #以读的方式打开# print(data)# p ...
- 使用Windows的SHFileOperation外壳函数实现文件操作
在Windows的shellapi文件中定义了一个名为SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的拷贝.删除.移动等,该函数使用起来非常简单,它只有一个指向SHFI ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Part1_4 python函数、文件操作、异常处理
目录 函数 文件操作 异常处理 函数 #函数的定义 def printinfo():print("----------")print("人生苦短,我用python&quo ...
- python中f点flush是什么函数_Python文件操作及内置函数flush原理解析
1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...
- python sorted下标_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
长文预警! Python基础系列会将基础内容大致分为三到五个板块,每块着重讲一方面,知识不会很难,主要是以小例子的形式解读,如果你已经入门Python,希望可以帮你温习一下:如果你想入门Python, ...
- 牛逼!Python函数和文件操作(长文系列第3篇)
系列第三篇来说一下函数和文件.函数在编程中是一个很重要的角色,我们可以将若干个语句组合形成一个函数,它可以接受传入参数,并在内部进行相关计算后产生输出,将语句封装成函数是为了避免重复使用几个语句造成代 ...
最新文章
- CasperJs 入门介绍
- mysql语言的简介_谁能帮我介绍一下 MY SQL ?
- Android学习笔记——Handler(二)
- sql server 2008新特性:资源调控器
- 计算机二级access上机题,2017历年全国计算机二级access上机试题及答案
- 李洪强iOS经典面试题34-求两个链表表示的数的和
- 宿舍管理系统简单的增删改查
- java 动态性之反射机制 详解 案例,一起来聊聊Synchronized底层实现原理
- 【文献学习】DeepReceiver: A Deep Learning-Based Intelligent Receiver for Wireless Communications in the Ph
- Grand Prix of Saratov - D. Elevator - DP
- H3C交换机远程端口镜像配置
- 如何清除计算机搜索框内的搜索历史记录,如何清除搜索框中的网站访问历史记录...
- 01 【Verilog实战】同步FIFO的设计(附源码RTL/TB)
- 信息过剩而注意力稀缺的时代需要的是专注
- Swagger学习笔记(基于Go-Gin)
- VUE+ELEMENT:表格渲染导致的 异常:You may have an infinite update loop in a component render function
- 深度学习利用回归算法进行数据预测
- windows编程1
- webpack中将打包后的文件复制到指定路径
- 机器人开发学习(一)