ferror,perror,cleaner
1.ferror
- 函数原型: int ferror(FILE *fp)
- 功能:测试文件是否出现错误
- 返回值:未出错是0;出错为非0。
- 每次调用文件输入输出函数,均产生一个新的ferror函数值
- fopen打开文件时,ferror函数处置自动置为0
- 对同一个文件(文件指针或文件描述符)每一次调用输入输出函数,均产生一个新的ferror函数值,因此,应当在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失。因此,应当在调用一个输入输出函数后立即检 查ferror函数的值,否则信息会丢失。
- 在执行fopen函数时,ferror函数的初始值自动置为0。
eg:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //ferror检测程序异常或者正常 //没读写一次,产生一个ferror //0代表正常,1异常void main2() {FILE *pf = fopen("C:\\51job.txt", "r");if (pf==NULL){printf("\nopen fail");} else{printf("\nopen sucess");}if (ferror(pf)==0)//文件打开失败的情况,不让你继续,提示异常 {printf("\n正常");} else{printf("\n异常");}fputs("1234", pf);if (ferror(pf) == 0)//文件打开失败的情况,不让你继续,提示异常 {printf("\n正常");}else{printf("\n异常");}system("pause"); }
2.clearerr()
定义函数:void clearerr(FILE * stream);
函数说明:clearerr()清除参数stream 指定的文件流所使用的错误旗标.
3.perror()
- 原函数:
void perror(const char *s);
- 功能:
- perror ( )用 来 将 上 一 个 函 数 发 生 错 误 的 原 因 输 出 到 标 准 设备 (stderr) 。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量error 的值来决定要输出的字符串。 在库函数中有个error变量,每个error值对应着以字符串表示的错误类型。当你调用"某些"函数出错时,该函数已经 重新设置了error的值。perror函数只是将你输入的一些信息和现在的error所对应的错误一起输出。
- eg:
#include <stdio.h> int main(void) {FILE *fp ; fp = fopen( "/root/noexitfile", "r+" ); if ( NULL == fp ) { perror("/root/noexitfile"); } return 0; } 运行结果: [root@localhost io]# gcc perror.c [root@localhost io]# ./a.out /root/noexitfile: No such file or directory
转载于:https://www.cnblogs.com/sjxbg/p/5889940.html
ferror,perror,cleaner相关推荐
- 20160301.CCPP体系详解(0040天)
程序片段:01.fscanfprintf.c+02.51Job.c+03.7K7K.c 内容概要:fscanffprintf ///01.fscanfprintf.c #define _CRT_SEC ...
- C语言文件操作(四) —— 文件读取结束的判定(feof、ferror)
目录 1.feof.ferror 函数返回值 (1) feof 函数 (2) ferror 函数 2.feof.ferror 函数函数使用 fgetc.fgets的返回值说明都有提到一 ...
- C语言之EOF、feof函数、ferror函数
本文为转载文章,原文:C语言再学习 -- EOF.feof函数.ferror函数 EOF详解 1.定义: EOF是end of file的缩写,表示"文字流"(stream)的结尾 ...
- C语言再学习 -- EOF、feof函数、ferror函数
EOF详解 EOF是end of file的缩写,表示"文字流"(stream)的结尾.这里的"文字流",可以是文件(file),也可以是标准输入(stdin) ...
- matlab中 feof(fp),feof和ferror函数,C语言feof和ferror函数详解
正如前面所讲,fgetc(或者getc)函数返回 EOF 并不一定就表示文件结束,读取文件出错时也会返回 EOF.即 EOF 宏不但能够表示读到了文件结尾这一状态,而且还能表示 I/O 操作中的读.写 ...
- linux C语言perror()函数(将错误消息写入标准错误)(把一个描述性错误消息输出到标准错误 stderr。首先输出自定义字符串 str,后跟一个冒号,然后是一个空格)
文章目录 man 3 perror man 3posix perror 20220723 C语言 | perror函数使用详解 man 3 perror PERROR(3) Linux Program ...
- Linux环境编程--linux中的perror、exit、_exit、wait 和 waitpid
perror: #include<stdio.h> #include<stdlib.h> 定义函数 void perror(const char *s); pe ...
- MySQL排错工具perror
2019独角兽企业重金招聘Python工程师标准>>> 我们在运维MySQL数据库的时候,会经常返回一个错误代码,有些错误会自动跟随一些提示,有的则没有,而在MySQL自带工具集中, ...
- C库函数-perror()
原文出处: http://wiki.jikexueyuan.com/project/c/perror.html 描述 C库函数 *void perror(const char *str) 把一个错误消 ...
最新文章
- [转]语音识别中区分性训练(Discriminative Training)和最大似然估计(ML)的区别...
- 《Mysql数据库及应用》_MySQL数据库及应用
- 深度学习核心技术精讲100篇(十)-机器学习模型融合之Kaggle如何通过Stacking提升模型性能
- 2016012090+小学四则运算练习软件项目报告
- [Java] Hashmap分析
- vue项目条形码和二维码生成工具试用
- 阿里数据总监分享《阿里数据中台建设实践案例》,PPT+语音讲解!
- matlab compiler 与matlab coder 区别,MATLAB编译器与MATLAB编码器
- 香港买thinkpad大陆使用,大陆可以享受售后服务吗
- linux 踢出在线用户
- 妙用next数组打表求最小循环节len
- python可变类型和不可变深浅拷贝类型_理解python可变类型vs不可变类型,深拷贝vs浅拷贝...
- vs 中使用32 位mysql_【转载】VS中MFC连接MySQL由于系统不同位(32/64)引起的错误:无法解析的外部符号 _mysql_init@4、_mysql_query...
- listary文件查找工具下载及使用
- installshield使用教程
- 河北省谷歌高清卫星地图下载
- 蓝桥杯:解救小哈最短路径
- RetianNet在DDSM(4)
- 《算法笔记》10.5小节——图算法专题->最小生成树
- 深入理解java虚拟机(五)GC垃圾回收-经典垃圾收集器
热门文章
- Python核心编程朱红庆_Python编程语言的核心是什么?
- python open函数encoding_关于python内open函数encoding编码问题
- java堆栈方法区_java 栈 ,堆, 方法区
- 带有控制器,方法,标题,参数,@ RequestParam,@ PathVariable的Spring MVC @RequestMapping注释示例
- 如何检查Python字典中是否存在密钥
- Java字符串contains()
- 手机怎么安装py thon_Python属性装饰器– Py​​thon @property
- ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)
- 机器人技术与人工智能有什么区别?
- python kafka kerberos 验证 消费 生产