strerror

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

strerror函数名

编辑
strerror, _strerror, _wcserror, __wcserror

strerror函数作用

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

strerror头文件

编辑
#include <string.h>

strerror函数原型

编辑
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.
返回:
指向错误信息的指针(即:错误的描述字符串)。

strerror举例

编辑
例一:
#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
词条标签:
计算机学