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参见示例。