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)==)//文件打开失败的情况,不让你继续,提示异常
{
printf("\n正常");
}
else
{
printf("\n异常");
} fputs("", pf); if (ferror(pf) == )//文件打开失败的情况,不让你继续,提示异常
{
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
 

ferror,perror,cleaner的更多相关文章

  1. [C++STDlib基础]关于C标准输入输出的操作——C++标准库头文件<cstdio>

    网上实例 总结 /* _STD_BEGIN using _CSTD clearerr; using _CSTD fclose; using _CSTD feof; using _CSTD ferror ...

  2. C++ 第七课 标准 C I/O

    clearerr() 清除错误 fclose() 关闭一个文件 feof() 如果到达文件尾(end-of-file)返回"True"(真) ferror() 检查一个文件错误 f ...

  3. linux常用C函数目录

    字符测试篇 isalnum isalpha isascii iscntrl isdigit isgraphis islower isprint isspace ispunct isupper isxd ...

  4. 标准C语言的输入输出流(i/o)方法详解

    cppreference.com -> 标准 C I/O ->详细说明 标准 C I/O clearerr 语法: #include <stdio.h> void cleare ...

  5. 【转载】标准C语言的输入输出流(i/o)方法详解

    标准 C I/O clearerr 语法: #include <stdio.h> void clearerr( FILE *stream ); clearerr函数重置错误标记和给出的流的 ...

  6. 信号处理篇alarm ferror kill mkfifo pause pclose perror pipe popen sigaction sigaddset sigdelset sigemptyset signal sleep strerror

    alarm(设置信号传送闹钟) 相关函数 signal,sleep 表头文件 #include<unistd.h> 定义函数 unsigned int alarm(unsigned int ...

  7. C和指针 第十五章 错误报告perror和exit

    15.1 错误报告 perror 任何一种程序都存在出错的可能,包括系统的函数库,当出现错误时,系统提示发生错误,标准库函数在一个外部整型变量中保存错误代码,然后把错误代码传给用户程序,提示错误原因. ...

  8. 恶意软件伪装“正规军”,撕开Booster Cleaner“画皮”下的真相

    经常使用手机浏览器阅读小说的用户都知道,在浏览器页面经常会出现一些推广游戏应用.手机清理应用等应用的弹窗广告.有时出于方便,我们也会选择直接点开这些弹窗广告进行应用下载.但这种行为并不安全,部分恶意应 ...

  9. 清除MAC OS X上的流氓软件 - advance mac cleaner

    自3721开天辟地以来,流氓软件从来就没有消停过,连MAC OS X都难逃流氓软件的骚扰. 近日,因为从SourceForge上下载了一个软件安装包,结果中招了——莫名其妙被安装了advance ma ...

随机推荐

  1. java_web学习(七) MySQL的配置与安装

    一:下载MySQL 1.进入oracle官网 2. 3. 4. 5. 6. 7. 网址:https://dev.mysql.com/downloads/file/?id=469273 二:配置MySQ ...

  2. RHM-M60型挖掘机力矩限制器/载荷指示器

    RHM-M60挖掘机力矩限制器RHM-M60 excavator crane moment limiter     RHM-M60型挖掘机力矩限制器是臂架型起重机机械的安全保护装置,本产品采用32位高 ...

  3. Fiddler抓取https证书问题

    正常的使用方法  Fiddler 抓包工具总结    大部分问题的解决方案  fiddler4在win7抓取https的配置整理 像我脸一样黑的解决方案  Fiddler https 证书问题     ...

  4. CTF---密码学入门第四题 困在栅栏里的凯撒

    困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...

  5. 个人整理方幂和公式(∑i^k 公式)

    有个Oier小学妹问了我一个Σi^k,i<=1e8 ,k<=1e6的问题,我认为这个用伯努利数列可能可以解决他的问题,所以整理了以下文章,给学弟学习学习~~~本人水平有限,也只能帮到这里了 ...

  6. vijos 1942 [AH 2005] 小岛

    描述 西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N . 起初,岛屿之间没有任何的航线.后来随着交通的发展,逐渐出现了一些连通两座小岛的航线.例如增加一条在 ...

  7. bzoj:1941: [Sdoi2010]Hide and Seek

    1941: [Sdoi2010]Hide and Seek Time Limit: 16 Sec  Memory Limit: 162 MBSubmit: 531  Solved: 295[Submi ...

  8. Gym101522A Gym101522C Gym101522D

    Gym101522A A There are two popular formats for representing a date: day/month/year or month/day/year ...

  9. UserView--第一种方式set去重,基于Spark算子的java代码实现

    UserView--第一种方式set去重,基于Spark算子的java代码实现 测试数据 java代码 package com.hzf.spark.study; import java.util.Ha ...

  10. 图tp delDataById问题