【C库函数】strerror函数详解

article/2025/10/14 17:02:39

目录

strerror

函数原型

参数详解

返回值详解

函数讲解


strerror

        返回错误码,所对应的错误信息

函数原型

char *strerror( int errnum );

参数详解

参数errnum
解析错误码信息(errno)

返回值详解

 strerror函数就是返回这些错误码所对应错误信息的字符串起始地址给返回过来

什么是错误码?当我们在调用库函数失败的时候,就会把错误信息放在一个全局的变量errno(错误码)中。而错误码可能是0 、1 、2 、3 、4(这些数字就类似于网面错误信息‘404’一样)

 下面展示一下这些错误码的所对应的错误信息

int main()
{printf("%s\n", strerror(0));//没有错误信息printf("%s\n", strerror(1));//操作被拒绝printf("%s\n", strerror(2));//没有这个文件或文件夹printf("%s\n", strerror(3));//没有这个进程return 0;
}

函数讲解 

        下面我将用malloc函数返回的错误信息演示strerror函数使用(malloc向堆区申请内存)

我把INT_MAX传给malloc函数,使得malloc函数开辟空间失败返回NULL,同时错误信息会放到全局变量errno中。用strerror函数解析错误信息

INT_MAX是整型最大值,而用INT_MAX这个符号需要调用limits.h头文件

errno是整型全局变量,存放错误信息,使用errno需要调用errno.h头文件

代码演示如下

#include<stdio.h>
#include<string.h>
#include<limits.h>
#include<errno.h>int main()
{int* p = (int*)malloc(INT_MAX);if (p == NULL)//malloc开辟内存失败会返回一个空指针{printf("%s\n", strerror(errno));return 1;//失败返回1}//...return 0;//成功返回0
}

 


http://chatgpt.dhexx.cn/article/LAFhampS.shtml

相关文章

详解:strerror函数:将错误码转化为错误信息

对于大家在浏览网页的时候&#xff0c;或多或少的会见识过不少的错误信息&#xff1a;比如&#xff1a;最常见的就是&#xff1a;404 但是&#xff0c;使用strerror函数&#xff0c;可以将错误码转化为错误信息&#xff01;不知道偶然间看见的读者是否有兴趣进行深入研究一下&…

Strerror函数和Perror函数的介绍及使用

Strerror 通过标准错误的标号&#xff0c;获得错误的描述字符串 &#xff0c;将单纯的错误标号转为字符串描述&#xff0c;方便用户查找错误。 需要引用的头文件 #include <errno.h> #include <string.h> 用法&#xff1a;如果调用函数失败&#xff0c;会产生错误码…

strerror函数使用

。 char *strerror(int errnum); 功能&#xff1a;通过标准错误的标号&#xff0c;获得错误的描述字符串 &#xff0c;将单纯的错误标号转为字符串描述。 参数&#xff1a;errnum&#xff1a;最新的错误标号。 返回值&#xff1a;指向错误信息的指针。#include <stdio.h>…

Linux 应用编程之strerror函数

在 Linux 系统下对常见的错误做了一个编号&#xff0c;每一个编号都代表着每一种不同的错误类型&#xff0c;当函数执行发生错误的时候&#xff0c;操作系统会将这个错误所对应的编号赋值给 errno 变量&#xff0c;每一个进程&#xff08;程序&#xff09;都维护了自己的 errno…

C语言函数: 字符串函数及模拟实现strtok()、strstr()、strerror()

C语言函数&#xff1a; 字符串函数及模拟实现strtok()、strstr()、strerror() strstr()函数: 作用&#xff1a;字符串查找。在一串字符串中&#xff0c;查找另一串字符串是否存在。 形参: str2在str1中寻找。返回值是char*的指针 原理&#xff1a;如果在str1中找到了str2&…

【strerror函数的使用】

strerror函数的使用 一&#xff0c;说明二&#xff0c;具体使用场景 一&#xff0c;说明 strerror会返回错误码&#xff0c;我们可以将其翻译成所对应的错误信息&#xff1b; c语言的库函数在运行的时候&#xff0c;如果发生错误&#xff0c;就会将错误码存放在一个变量中&…

strerror 函数

收藏 75 23 strerror编辑 本词条缺少 名片图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来 编辑吧&#xff01; 通过标准错误的标号&#xff0c;获得错误的描述字符串 &#xff0c;将单纯的错误标号转为字符串描述&#xff0c;方便用户查找…

strerror函数介绍

认识strerror 库函数调用失败的时候会产生错误码&#xff0c;而每一个错误码对应着一条错误信息&#xff0c;strerror函数的作用就是将错误码给转化成错误信息。 在C语言中有一条全局的错误码errno&#xff0c;在程序运行过程中&#xff0c;只要库函数调用失败&#xff0c;我们…

strerror perror

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…

关于strerror

1功能 strerror用于返回错误码信息的首字符的地址。 可以这样理解&#xff0c;函数运行过程中如果失败的话&#xff0c;会返回一个错误码放在errno中&#xff0c;&#xff08;原先设计中就已经存在的&#xff09;调用strerror函数的话&#xff0c;可以打印对应的错误信息 2 …

Multipass虚拟机入门教程

目录 一、Multipass介绍 二、Multipass的安装 1. 系统版本 2. 下载地址和官网教程 3. 安装 4. 查看版本并测试是否安装成功 5. 若启动失败 三、Multipass的简单使用 1. 设置虚拟化提供方式&#xff08;忽略该步骤&#xff09; 2. 创建名为test虚拟机&#xff0c;分配…

服务器vmware新建虚拟机教程,如何创建虚拟机教程全解

这部分教程我们将学习的是如何创建虚拟机。在创建虚拟机之前&#xff0c;vSphere Client是必要的软件之一&#xff0c;它用于访问ESX主机或vCenter的图形管理用户界面。 vSphere Client安装在Windows计算机上&#xff0c;它是与虚拟基础架构进行交互的主要方法。 1.安装vSphere…

专为折腾而生!老旧电脑安装PVE虚拟机保姆教程

专为折腾而生&#xff01;老旧电脑安装PVE虚拟机保姆教程 这几天玩VMware虚拟机上瘾&#xff0c;感觉特别有意思。然而我其实并不满足于只是在这种软件层面上玩玩&#xff0c;而想挑战更高级的玩法&#xff0c;比如说玩玩可以安装在实体机上的虚拟机系统~~ 说直接点就是我想在…

虚拟机Hyper-V的安装以及使用教程

目录 前言 一、什么是虚拟机Hyper-V&#xff1f; 二、使用步骤 虚拟机的安装 前言 Hyper-V是Windows操作系统提供的虚拟机管理平台&#xff0c;所有提供Hyper-V功能的Windows操作系统都可以根据本论文的内容安装并管理虚拟机。具体来说&#xff0c;Hyper-V 提供硬件虚拟化…

VirtualBox基础使用教程

选择VirtualBox而不是VMware Workstation的原因:VirtualBox是开源软件,对于个人的Linux学习来说,既免费又够用,且相较于VMware Workstation来说更为小巧,也没有那么多的自启动服务,不会在你不使用虚拟机的时候也有那么多服务在后台运行。 下载并安装VirtualBox 注:以下…

VMWare安装Linux虚拟机详细教程

使用VMware创建Linux并配置网络 1. 创建虚拟机&#xff0c;选择自定义 2. 选择硬件兼容性 3. 选择稍后安装操作系统 4. 选择Linux系统 5. 创建虚拟机名称和位置 6. 根据需求选择处理器 8. 选择虚虚拟机内存 9. 选择虚拟机的网络类型 10. 选择I/O控制器类型 11. 选择磁盘类型 1…

华为虚拟机服务器怎么使用教程,虚拟机装服务器教程

虚拟机装服务器教程 内容精选 换一换 应用容器化改造有三种方式,您可单击这里查看。本教程以某游戏为例,将该游戏进行微服务的架构改造,再进行容器化。本教程不对改造细节做深度讲解,仅讲解大致的建议。如需要详细了解容器化改造的过程,请单击服务咨询。本章节主要讲解游戏…

解决oracle数据库登录缓慢的问题

在连接tmboot开启服务的时候&#xff0c;tmboot初始化进程十分缓慢&#xff0c;于是查看日志和源码&#xff0c;发现是启动进程的时候&#xff0c;需要连接数据库进行初始化。 但是我本身在连接数据库的时候&#xff0c;用conn 连接对应数据库的时候都需要十秒才能连接上&…

数据库的登陆方法

数据库的两种登陆方法 作者&#xff1a;吴炳耀 完成时间&#xff1a;2019.1.18 当我们进入数据库系统时&#xff0c;服务器类型一般都是选数据库引擎&#xff0c;因为其他类型我们用到的机会是非常少的 服务器名称在我们安装时就已自动分配好,如果没有我们可以输入&#xff1a;…

【数据库】浅析登录名与用户的联系

前言&#xff1a;当我们学到“数据库安全性控制”这章时&#xff0c;会遇到登录名与用户这两个概念。如果没有理清楚&#xff0c;那么在SQL Server 软件中会不知如何下手。本篇文章就是来浅析他们之间的关系以及再该软件中如何创建。 一、登录名 我们登陆SQL Server软件时&am…