strerror 函数

article/2025/10/14 16:59:46
收藏
75
23

strerror编辑

本词条缺少 名片图,补充相关内容使词条更完整,还能快速升级,赶紧来 编辑吧!
通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
外文名
strerror
语    言
C语言
参    数
错误标号(即error)
返回值
描述字符串(char *)

目录

1函数名

2函数作用

3头文件

4函数原型

5举例

1函数名编辑

strerror, _strerror, _wcserror, __wcserror

2函数作用编辑

Get a system error message (strerror, _wcserror) or prints a user-supplied error message (_strerror, __wcserror).
获取系统 错误信息或打印用户 程序错误信息。

3头文件编辑

#include <string.h>

4函数原型编辑

1
2
3
4
char * strerror (interrnum);
char *_strerror(constchar*strErrMsg);
wchar_t *_wcserror(interrnum);
wchar_t *__wcserror(constwchar_t*strErrMsg)
参数:
errnum:错误标号,通常用errno(标准错误号,定义在errno.h中)
Error number.
strErrMsg
User-supplied message.
返回:
指向 错误信息的 指针(即:错误的描述字符串)。

5举例编辑

例一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<string.h>
#include<errno.h>
#include<stdlib.h>
intmain( void )
{
FILE *fp;
externinterrno;
char *message;
if (NULL==(fp= fopen ( "/dev/dsp" , "r+" )))
{
printf ( "errno=%d\n" , errno );
message= strerror ( errno );
printf ( "Mesg:%s\n" ,message);
}
exit (0);
}
输出:
error=2
Mesg:No such file or direcory
例二:
// crt_perror.c
// compile with: /W1
/* This program attempts to open a file named
* NOSUCHF.ILE. Because this file probably doesn't exist,
* an error message is displayed. The same message is
* created using perror, strerror, and _strerror.
*/
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <share.h>
int main( void )
{
int fh;
if( _sopen_s( &fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0 ) != 0 )
{
/* Three ways to create error message: */
perror( "perror says open failed" );
printf( "strerror says open failed: %s\n",
strerror( errno ) ); // C4996
printf( _strerror( "_strerror says open failed" ) ); // C4996
// Note: strerror and _strerror are deprecated; consider
// using strerror_s and _strerror_s instead.
}
else
{
printf( "open succeeded on input file\n" );
_close( fh );
}
}
输出:
perror says open failed: No such file or directory
strerror says open failed: No such file or directory
_strerror says open failed: No such file or directory
转自 : http://baike.baidu.com/link?url=pllZsYxUR2EJ26CRuWn_F8x7cUimLjEi6g_tPsEnENMv3L4zzXhwqtQ1u7ry8IrHbCh29BbgJTVACTPfawZ1J_

linux下错误的捕获:errno和strerror的使用

 
转自 http://www.douban.com/note/165931644/

转载于:https://www.cnblogs.com/IceSword-syy/p/4261834.html


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

相关文章

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…

用命令行登录并操作数据库

一、数据库的登录及数据定义 1、登录到数据库 首先打开Mysql安装目录中的bin目录&#xff0c;之后在地址栏输入cmd&#xff0c;回车。我的是安装在了C盘。 ​​​​ 进入到了命令行界面&#xff0c;并输入mysql -u root -p&#xff0c;回车后再输入密码&#xff0c;显示如下界…

C#连接数据库的登录界面

首先建立一个数据库&#xff0c;是在Thisone的数据库里建立的一个Resign表&#xff0c;里面有两个变量&#xff0c;一个是SID一个是Skey&#xff0c;就是用户名和密码。 下面打开visual studio&#xff0c;新建项目&#xff0c;搭建好自己的界面。 我这里就是简单的登录界面&am…

达梦数据库新创建用户登录报错“登录失败次数超过限制”

问题描述 最近遇到数据库新创建A用户&#xff0c;登录失败的情况。创建后使用A用户第一次登录报错&#xff1a;”登录失败次数超过限制“的问题。多次登录用户被锁定后&#xff0c;解锁后登录还是相同的错提示。数据库版本&#xff1a;DM8 1-1-156 排查步骤 1、新建实例&…

Android 连接数据库实现登录注册功能(SQLite)

什么是SQLite SQLite 是一个软件库&#xff0c;实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。 以下是一些关于SQLite学习的有用的网站&#xff1a; 1、SQLite Home Page - …

达梦数据库入门

测试版本&#xff1a;达梦6 主要内容&#xff1a;数据库登录、数据库创建、用户创建、授权等。 说明&#xff1a;数据库有两种方式常用的使用方式&#xff0c;有达梦自带的比较友好的达梦管理工具&#xff0c;比较适用于新手。这里主要介绍的是第二种方式,命令行方式。 一、达梦…

登录页面连接数据库

壹 如果每一款APP的登录界面审核机制为 " admin".equles(username)&&"123456".equles(password)那么局限性太高&#xff0c;数据成本高&#xff0c;我们之所以连接数据库&#xff0c;是因为APP对应着多个用户&#xff0c;而不是一个用户。 贰 &a…

java完成登录页面+连接数据库

java完成登录页面连接数据库 所用的包简单介绍&#xff1a; 部分资料来自网上&#xff0c;如有侵权联系删除。 ActionEvent:处理东、南、西、北四个按钮&#xff0c;以及文本框的actionevent事件。当事件发生&#xff0c;&#xff0c;监视器计算字符的长度&#xff0c;并在命…