strerror, _strerror, _wcserror, __wcserror

获取系统错误信息 (strerror, _wcserror) 或打印一个用户提供的错误消息 (_strerror, __wcserror)。 这些功能的更安全版本可用; strerror_s, _strerror_s, _wcserror_s, __wcserror_s 参见。

char *strerror(
   int errnum 
);
char *_strerror(
   const char *strErrMsg 
);
wchar_t * _wcserror(
   int errnum 
);
wchar_t * __wcserror(
   const wchar_t *strErrMsg 
);

参数

  • errnum
    错误号。

  • strErrMsg
    用户提供的消息。

返回值

所有这些函数返回指向错误消息字符串。 对的后续调用都可以重写该字符串。

备注

strerror 函数映射 errnum 到错误消息字符串,因此返回指向该字符串。 strerror 和 _strerror 实际上不打印消息:为此,您需要调用一种输出功能 (如 fprintf:

if (( _access( "datafile",2 )) == -1 )
   fprintf( stderr, _strerror(NULL) );

如果 strErrMsg 将作为 NULL, _strerror 返回指向包含最后一个库的字符串系统错误信息调用该生成错误。 错误消息字符串由换行符 (“\ n) 终止。 如果 strErrMsg 与 NULL不相等,则 _strerror 返回指向包含 (按顺序) 字符串消息,冒号,空格的字符串,最后一个库的系统错误信息调用将产生错误和换行符。 字符串消息可以是,至多, 94 字符长度。

_strerror 的实际错误号变量中 errno存储。 系统错误信息通过变量的 _sys_errlist中,是消息在失误经过排序的数字。 _strerror 访问使用 errno 值的相应的错误消息作为索引为可变 _sys_errlist。 变量 _sys_nerr 的值定义,元素的最大数在 _sys_errlist 数组。 ,在库实例返回一个错误之后,希望准确的结果,请调用 _strerror 。 否则,对的后续调用 strerror 或 _strerror 会复盖 errno 值。

_wcserror和 __wcserror分别为 strerror和 _strerror的宽字符版本,即。

_strerror、 _wcserror和 __wcserror不是 ANSI 定义的部分,而是 Microsoft 对它。 不要使用它们可移植性需位置;对于 ANSI 兼容性,请使用 strerror 。

一般文本例程映射

TCHAR.H 实例

未定义的 _UNICODE _MBCS

定义的 _MBCS

定义的 _UNICODE

_tcserror

strerror

strerror

_wcserror

要求

实例

必需的头

strerror

string.h

_strerror

string.h

_wcserror, __wcserror

string.h

有关其他的兼容性信息,请参见中介绍的 兼容性

示例

perror参见示例。

.NET Framework 等效项

系统:: 异常:: 消息

请参见

参考

字符串操作(crt)

clearerr

ferror

perror, _wperror