strerror, _strerror, _wcserror, __wcserror

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Obtiene una cadena de mensaje de error del sistema (strerror, _wcserror) o da formato a una cadena de mensaje de error proporcionada por el usuario (_strerror, __wcserror). Existen versiones más seguras de estas funciones; consulte 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.

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

La función strerror asigna errnum a una cadena de mensaje de error y devuelve un puntero a la cadena. Ni strerror ni _strerror imprimen realmente el mensaje: para ello, es necesario llamar a una función de salida 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 de la última llamada a biblioteca que generó un error. La cadena del mensaje de error termina con el carácter de línea nueva ('\n'). Si strErrMsg no es igual a NULL, _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 de la última llamada a biblioteca que generó un error y, por último, un carácter de línea nueva. El mensaje de cadena puede tener, como máximo, 94 caracteres.

El número de error real para _strerror se almacena en la variable errno. Para generar resultados precisos, llame a _strerror inmediatamente después de que una rutina de biblioteca devuelva un error. De lo contrario, las llamadas subsiguientes a strerror o _strerror pueden sobrescribir el valor de errno.

_wcserror y __wcserror son versiones con caracteres anchos de strerror y _strerror, respectivamente.

_strerror, _wcserror y __wcserror no forman parte de la definición de ANSI, sino que son extensiones de Microsoft que le aconsejamos no use si lo que quiere es código portable. Para la compatibilidad con ANSI, use strerror en su lugar.

Para obtener las cadenas de error, se recomienda strerror o _wcserror en lugar de las macros desusadas _sys_errlist y _sys_nerr y las funciones internas desusadas __sys_errlist y __sys_nerr.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_tcserrorstrerrorstrerror_wcserror
RutinaEncabezado necesario
strerror<string.h>
_strerror<string.h>
_wcserror, __wcserror<string.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

Vea el ejemplo de perror.

System::Exception::Message

Manipulación de cadenas
clearerr
fError
pError, _wperror

Mostrar: