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é.