Sdílet prostřednictvím


perror, _wperror

Tisk chybové zprávy.

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

Parametry

  • string
    Řetězec zprávu vytisknout.

Poznámky

perror Funkce zobrazí chybovou zprávu na stderr._wperrorje verze celého znaku _perror; string argument _wperror je řetězec znaků wide._wperrora _perror chovají jinak shodně.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tperror

perror

perror

_wperror

stringtisku nejprve za dvojtečkou a potom zobrazí chybová zpráva systém pro poslední volání knihovny, které chyba, a nakonec znakem nového řádku.Pokud string je nulový ukazatel nebo ukazatele na řetězec null perror vytiskne pouze chybová zpráva systému.

Číslo chyby je uložen v proměnné kód chyby (definováno v kód chyby.H).Chybové zprávy systému, které jsou přístupné prostřednictvím proměnné _sys_errlist, což je pole zprávy seřazený podle čísla chyby.perrorvytiskne příslušnou chybovou zprávu pomocí errno hodnotu jako index _sys_errlist.Hodnota proměnné _sys_nerr je definován jako maximální počet prvků _sys_errlist pole.

Přesné výsledky volání perror ihned po rutina knihovny vrátí chybu.Jinak můžete přepsat následných výzev errno hodnotu.

V systému Windows operační systém, některé errno hodnoty uvedené v kód chyby.H nepoužívané.Tyto hodnoty jsou vyhrazena pro použití v operačním systému UNIX.Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr seznam errno hodnoty pro operační systém Windows.perrorVytiskne prázdný řetězec pro všechny errno hodnoty, které nejsou používány tyto platformy.

Požadavky

Rutina

Požadované záhlaví

perror

<stdio.h> nebo <stdlib.h>

_wperror

<stdio.h> nebo <wchar.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Knihovny

Všechny verze C Runtime knihovny.

Příklad

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

Výsledek

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

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Řízení procesů a prostředí

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror