strerror这个函数把错误码转化为错误信息,把错误信息的起始地址返回

X86下的代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main() {
    printf("%s\n", strerror(0));
    printf("%s\n", strerror(1));
    printf("%s\n", strerror(2));
    printf("%s\n", strerror(3));
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<limits.h>
#include<errno.h>
int main() {
    int* p = (int*)malloc(INT_MAX);
    if (p == NULL) {
        printf("%s\n", strerror(errno));
        perror("malloc");
        return 0;
    }
    return 0;
}

malloc函数是向内存申请空间,有可能会申请错误,当我申请了一个int最大值时,指针就申请不下来就会为NULL

strerror这个函数把错误码转化为错误信息,把错误信息的起始地址返回

perror先打印括号里面的内容,然后把错误信息放在后面

使用perror打印错误信息更加方便

strerror perror相关推荐

  1. strlen strstr strtok strerror 函数解析及模拟实现

    文章目录 一.strlen 求字符串长度 1.函数介绍 2.模拟实现(三种方式) 二.strstr 字符串查找 1.函数介绍 2.模拟实现 三.strtok 字符串分割 四.strerror perr ...

  2. C错误异常处理,异常处理

    预处理器标识#error的目的是什么啊? 指令 用途# 空指令,无任何效果#include 包含一个源代码文件#define 定义宏#undef 取消已定义的宏#if 如果给定条件为真,则编译下面代码 ...

  3. UNIX环境高级编程 - UNIX基础知识

    所有操作系统都为运行在它之上的程序提供各种服务,典型的服务包括:执行新程序.打开文件.读写文件.分配存储空间.提供时间等. UNIX体系结构 严格来说,操作系统是一种软件,它控制计算机硬件资源,提供程 ...

  4. 赶紧来修炼内功~字符串函数详解大全(三)

    目录 1. strstr 2. strtok 重点: 3. strerror perror: 1. strstr 该函数是用来查找str1字符串中是否含有str2字符串    存在:返回str2字符串 ...

  5. C语言讲义——错误处理

    errno C语言不提供对错误处理的直接支持. 以返回值的形式表示是否出错. 在发生错误时,大多数的C函数调用返回1或NULL. 同时设置一个错误代码errno(全局变量),表示在函数调用期间发生了错 ...

  6. 读书笔记-Linux程序设计

    文章目录 Linux程序设计 一.入门 二.shell程序设计 三.文件操作 四.linux环境 五.终端 六.使用curses函数库管理基于文本的屏幕 七.数据管理 CSDN 八.MySQL 九.开 ...

  7. UNIX系统 - 一些知识点

    这里写目录标题 一.GCC编译 二.C文件扩展后缀名 三.预处理指令 对齐与补齐 四.头文件 五.环境变量 六.Unix操作系统的结构 七.静态库与动态库 7.1 静态库的创建和使用 7.2动态库的创 ...

  8. 【C语言进阶】最常用的库函数大全——从入门到精通

    目录 前言: 一.字符串函数 1.strlen--求字符串长度 strlen 2.长度不受限制的字符串函数 a.strcpy--字符串拷贝 strcpy b.strcat--追加字符串 strcat ...

  9. linux网络编程学习笔记(一)

    目录 1. 获取系统调用错误信息:errno   strerror()     perror(); 2.常规文件操作之创建.读.写 1.文件创建​ 2.打开文件: 3.写文件:write 4.读文件: ...

最新文章

  1. 虹影图片下载器(Preview)
  2. 分布式流媒体直播服务器系统 For Linux
  3. 爬取异步请求(XHR/JS)数据方法
  4. Javscript 实现字符数串比对排序(包含数字及中文数字)
  5. JavaFX技巧22:“自动调整大小(树)”表列
  6. angularjs学习笔记—工具方法
  7. js声明php变量,vue.js怎样声明变量
  8. html写出五个文本标签,HTML的几个常用标签
  9. android实现页面的跳转
  10. java顺序表增删查改_Java实现顺序表的增删改查
  11. chaos-monkey-spring-boot小试牛刀
  12. 命令行运行 Java 报 java.lang.NoClassDefFoundError
  13. 免费的mysql图形化界面_免费好用的MySQL数据库客户端图形界面管理工具
  14. 判断是否安装Alexa工具条
  15. APP推广渠道分析:5种方法和2种思路
  16. EPON+EOC 大批量设备网管解决方案
  17. Mybatis if标签判断数字大小
  18. Python批量处理lrmx格式文档内指定内容
  19. android输入法服务,Android调用系统输入法
  20. 一文看全!史上以来的59家测序仪公司

热门文章

  1. Python开发系列课程(9) - 面向对象编程基础
  2. 自助报表和 BI 能解决多少事?
  3. Meterpreter木马技术分析与防范
  4. (找规律+贪)牛客小白月赛33 I 三角尼姆
  5. 中小企业如何防御加密勒索软件?
  6. ZXA10 C6xx: 大容量光接入设备
  7. openCV--cvCvtColor函数
  8. 倡导“绿色IT” 日立JP1带来企业经营革新
  9. 如何把Geohash的值解码成经度纬度?
  10. Linux系统安装JDK