ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c语言中的错误处理

2021-09-23 07:02:12  阅读:183  来源: 互联网

标签:perror 语言 errno 错误信息 strerror 错误处理 open 函数


1.stdlib.h头文件即standard library标准库函数头文件,包含了c,c++语言的最常用的系统函数,该文件中还包含了C语言标准库函数的定义。

2.errno 宏

errno 宏在stdlib.h中的定义为

#define errno (*_errno())

errno 宏用于保存程序在运行中的错误代码(error code),以及用于显示错误信息的字符串。

当程序运行时,errno宏被设置为0, 一旦程序发生了系统级的错误,errno宏就会被设置为其他值。

3.strerror()函数

  在“2errno宏" 中提到的 errno宏获取到的错误信息是错误的索引号,可以通过strerror()函数获取该错误索引号对应的错误信息。strerror() 函数在string.h头文件中定义,其格式为

char * strerror(int errnum);

其中,参数errnum是errno宏获取的错误索引号,该函数的返回值是错误信息。

4.perror() 函数

  perror() 函数显示标准错误输出流stderr中的错误信息,该函数的格式为:

void perror(const char *message);

其中参数message为要显示的信息,该信不包括保存在stderr中的错误信息。

 

5. stderr  有待增加

 

举例: 打开一个没有创建的文件 

#include <stdio.h>
#include <string.h>
int main()
{
   FILE *stream;
   if((stream = fopen("creat_new.c","r")) == NULL)
   {
      perror("perror says open failed");
      printf("strerror says open failed : %s\n",strerror(errno));  
    }else{
      printf("open succeded on input file\n");
      fclose(stream);
  }  
  return 0; }

输出结果:
  perror says open failed: No such file or directory

  strerror says open failed: No such file or directory 

 

 

 

FILE* 文件流指针  有待增加

标签:perror,语言,errno,错误信息,strerror,错误处理,open,函数
来源: https://www.cnblogs.com/tdgy/p/15322555.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有