Share via


perror, _wperror

imprimez un message d'erreur.

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

Paramètres

  • string
    message de chaîne à imprimer.

Notes

la fonction d' perror imprime un message d'erreur à stderr._wperror est une version à caractère élargi de _perror; l'argument d' string à _wperror est une chaîne à caractères larges._wperror et _perror se comportent de sinon.

mappages de routines de texte générique

routine de TCHAR.H

_MBCS & de _UNICODE non défini

_MBCS défini

_UNICODE défini

_tperror

perror

perror

_wperror

string est imprimé en premier, suivi d'un signe deux-points, puis par le message d'erreur système pour le dernier appel de bibliothèque qui est génère l'erreur, et enfin par un caractère de saut de ligne.Si string est un pointeur null ou un pointeur vers une chaîne Null, perror imprime uniquement le message d'erreur système.

Le numéro d'erreur est stocké dans errno variable (défini dans ERRNO.H).Les messages d'erreur système sont accessibles via _sys_errlistvariable, qui est un tableau de nombres par erreur classé par messages.perror imprime le message d'erreur adapté à l'aide de la valeur d' errno comme index à _sys_errlist.La valeur de _sys_nerr variable est définie comme un nombre maximal d'éléments du tableau d' _sys_errlist .

Pour des résultats exacts, l'appel perror immédiatement après une routine de bibliothèque retourne avec une erreur.Sinon, les appels suivants peuvent remplacer la valeur d' errno .

Dans le système d'exploitation Windows, certaines valeurs d' errno répertoriées dans ERRNO.H sont inutiles.Ces valeurs sont réservées que le système d'exploitation UNIX.Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour une liste des valeurs d' errno utilisées par le système d'exploitation Windows.perror imprime une chaîne vide pour toute valeur d' errno non utilisée par ces plateformes.

Configuration requise

routine

en-tête requis

perror

<stdio.h> ou <stdlib.h>

_wperror

<stdio.h> ou <wchar.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

bibliothèques

toutes les versions de Bibliothèques runtime C.

Exemple

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

Sortie

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

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Processus et contrôle ambiance

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror