다음을 통해 공유


perror, _wperror

오류 메시지를 인쇄 합니다.

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

매개 변수

  • string
    문자열 메시지를 인쇄 합니다.

설명

perror 함수에 오류 메시지를 인쇄 stderr._wperror와이드 문자 버전입니다 _perror. string 인수를 _wperror 와이드 문자 문자열입니다._wperror_perror 그렇지을 동일 하 게 작동 합니다.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_tperror

perror

perror

_wperror

string뒤에 콜론 다음 시스템 오류 메시지에 오류를 생성 하는 마지막 라이브러리 호출 하면 먼저 인쇄 됩니다 및 줄 바꿈 문자에 의해.경우 string null 포인터 또는 null 문자열 포인터입니다 perror 시스템 오류 메시지를 출력 합니다.

오류 번호는 변수에 저장 됩니다 errno (ERRNO를 정의 합니다.H)입니다.시스템 오류 메시지 변수를 통해 액세스 하는 _sys_errlist, 오류 번호로 정렬 된 메시지의 배열입니다.perror인쇄 사용 하 여 적절 한 오류 메시지는 errno 값의 인덱스를 _sys_errlist.변수 값 _sys_nerr 에 있는 요소의 최대 수로 정의 됩니다의 _sys_errlist 배열.

정확한 결과 얻으려면 호출 perror 라이브러리 루틴에서 오류를 반환 하는 즉시 후.그렇지 않으면 후속 호출을 덮어쓸 수는 errno 값입니다.

Windows에서 일부 운영 체제 errno ERRNO의 값이 나열 됩니다.H 사용 되지 않습니다.이러한 값 UNIX 운영 체제에서 사용 하기 위해 예약 되어 있습니다.참조 하십시오 _doserrno, errno, _sys_errlist, 및 _sys_nerr 의 목록에 대 한 errno Windows 운영 체제에서 사용 되는 값입니다.perror빈 문자열에 대 한 인쇄 errno 값이이 플랫폼에서 사용할 수 없습니다.

요구 사항

루틴

필수 헤더

perror

<stdio.h> 또는 <stdlib.h>

_wperror

<stdio.h> 또는 <wchar.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

라이브러리

모든 버전의 C 런타임 라이브러리.

예제

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

Output

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

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

프로세스 및 환경 제어

clearerr

ferror

strerror, _strerror, _wcserror, __wcserror