Share via


strerror, _strerror, _wcserror, __wcserror

Obtiene un mensaje de error del sistema (strerror, _wcserror) o imprime un mensaje de error proporcionado por el usuario (_strerror, __wcserror).Versiones más seguras de estas funciones están disponibles; vea 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 
);

Parámetros

  • errnum
    Número de error.

  • strErrMsg
    mensaje proporcionado por el usuario.

Valor devuelto

Todas estas funciones devuelven un puntero a la cadena de mensaje de error.las llamadas subsiguientes pueden sobrescribir la cadena.

Comentarios

La función de strerror asigna errnum a una cadena de mensaje de error, devolviendo un puntero a la cadena.ni strerror ni _strerror imprime realmente el mensaje: Para ese, necesita llamar a una función de resultados como fprintf:

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

Si strErrMsg se pasa como NULL, _strerror devuelve un puntero a una cadena que contiene el mensaje de error del sistema para la última llamada de biblioteca que generó un error.La cadena del mensaje de error es cancelada por el carácter de nueva línea (“\ n ").Si strErrMsg no es igual a NULL, después _strerror devuelve un puntero a una cadena que contiene (en orden) el mensaje de cadena, dos puntos, un espacio, el mensaje de error del sistema para la última llamada de biblioteca genera un error, y un carácter de nueva línea.El mensaje de cadena puede ser, como máximo, de 94 caracteres.

el número de error real para _strerror se almacena en errnovariable.Los mensajes de error del sistema a través de _sys_errlistvariable, que es una matriz por error de número orden los mensajes._strerror tiene acceso al mensaje de error adecuado mediante el valor de errno como índice a _sys_errlistvariable.El valor de _sys_nerr variable se define como el número máximo de elementos en la matriz de _sys_errlist .Para generar resultados precisos, llame a _strerror inmediatamente después de una rutina de biblioteca vuelve con un error.si no, las llamadas subsiguientes a strerror o _strerror pueden sobrescribir el valor de errno .

_wcserrory __wcserrorson versiones de caracteres anchos de strerrory de _strerror, respectivamente.

_strerror, _wcserror, y __wcserrorno forman parte de la definición ANSI pero están en su lugar extensiones de Microsoft para ella.No usar donde desee portabilidad; para la compatibilidad con ANSI, utilice strerror en su lugar.

Asignaciones de la rutina de texto genérico

rutina de TCHAR.H

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_tcserror

strerror

strerror

_wcserror

Requisitos

rutina

Encabezado necesario

strerror

<string.h>

_strerror

<string.h>

_wcserror, __wcserror

<string.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

Vea el ejemplo para perror.

Equivalente en .NET Framework

System:: excepción:: Mensaje

Vea también

Referencia

Manipulación de cadenas (CRT)

clearerr

ferror

perror, _wperror