Udostępnij za pośrednictwem


perror, _wperror

Drukowanie komunikat o błędzie.

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

Parametry

  • string
    Ciąg komunikatu do drukowania.

Uwagi

perror Funkcji drukuje komunikat o błędzie stderr._wperrorjest to wersja szerokich znaków _perror; string argument _wperror jest łańcuch szerokich znaków._wperrori _perror zachowują się identycznie inaczej.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tperror

perror

perror

_wperror

stringzostanie wydrukowany, a po nim dwukropek, a następnie w komunikacie o błędzie systemu dla ostatniego wywołania biblioteki, które produkowane błąd, i ostatecznie przez znak nowego wiersza.Jeśli string jest wskaźnik null lub wskaźnik na ciąg pusty, perror drukuje tylko komunikat o błędzie systemu.

Numer błędu jest przechowywane w zmiennej errno (zdefiniowaną w ERRNO.H).Komunikaty o błędach systemu są dostępne za pośrednictwem zmiennej _sys_errlist, który jest tablicą wiadomości uporządkowane według numer błędu.perrordrukuje przy użyciu wiadomości odpowiednie błąd errno wartość jako indeks do _sys_errlist.Wartość zmiennej _sys_nerr jest zdefiniowany jako maksymalna liczba elementów w _sys_errlist tablicy.

Dla zapewnienia dokładności wyników wywołania perror natychmiast po rutynowych biblioteki zwraca błąd.W przeciwnym razie można zastąpić kolejnych wywołaniach errno wartości.

W systemie Windows systemu operacyjnego, niektóre errno wartości wymienione w ERRNO.H są nieużywane.Wartości te są zarezerwowane do użytku przez system operacyjny UNIX.Zobacz _doserrno, errno, _sys_errlist i _sys_nerr dla aukcji z errno wartości używane przez system operacyjny Windows.perrorDrukuje pusty ciąg dla każdego errno wartość nie jest używana przez tych platform.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

perror

<stdio.h> lub <stdlib.h>

_wperror

<stdio.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Biblioteki

Wszystkie wersje biblioteki uruchomieniowej c.

Przykład

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

Dane wyjściowe

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

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Proces i kontroli środowiska

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror