Exportar (0) Imprimir
Expandir todo
div
EOF
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

perror, _wperror

Imprime un mensaje de error.

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

string

Mensaje de cadena para imprimir.

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.

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

// 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 );
   }
}

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

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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft