Compartir a través de


perror, _wperror

Imprime un mensaje de error.

void perror(
   const char *string 
);
void _wperror(
   const wchar_t *string 
);

Parámetros

  • string
    Mensaje de cadena para imprimir.

Comentarios

la función de perror imprime un mensaje de error a stderr._wperror es una versión con caracteres anchos de _perror; el argumento de string a _wperror es una cadena de caracteres._wperror y _perror se comportan exactamente igual de otra manera.

Asignaciones de la rutina de texto genérico

rutina de TCHAR.H

_UNICODE y _MBCS no definido

_MBCS definido

_UNICODE definido

_tperror

perror

perror

_wperror

string es impreso primero, seguido de dos puntos, después por el mensaje de error del sistema para la última llamada de biblioteca que generó el error y, finalmente por un carácter de nueva línea.Si string es un puntero NULL o un puntero a una cadena nula, perror imprime únicamente el mensaje de error del sistema.

el número de error se almacena en errno variable (definido en ERRNO.H).Los mensajes de error del sistema a través de _sys_errlistvariable, que es una matriz por error de número orden los mensajes.perror imprime el mensaje de error adecuado mediante el valor de errno como índice a _sys_errlist.El valor de _sys_nerr variable se define como el número máximo de elementos en la matriz de _sys_errlist .

para los resultados precisos, la llamada perror inmediatamente después de una rutina de biblioteca vuelve con un error.si no, las llamadas subsiguientes pueden sobrescribir el valor de errno .

En el sistema operativo Windows, algunos valores de errno enumerados en ERRNO.H son no usados.Estos valores se reservan para uso del sistema operativo UNIX.Vea _doserrno, errno, _sys_errlist, y _sys_nerr para una lista de valores de errno utilizados por el sistema operativo Windows.perror imprime una cadena vacía para cualquier valor de errno no utilizado por estas plataformas.

Requisitos

rutina

Encabezado necesario

perror

<stdio.h> o <stdlib.h>

_wperror

<stdio.h> o <wchar.h>

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

bibliotecas

todas las versiones de Bibliotecas en tiempo de ejecución de C.

Ejemplo

// crt_perror.c
// compile with: /W3
/* 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 );
   }
}

Output

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

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

Proceso y control ambiental

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror