errno
상수
구문
#include <errno.h>
설명
상수는 errno
다양한 오류 조건에 할당된 errno
값입니다.
ERRNO.H
에는 값의 정의가 errno
포함되어 있습니다. 그러나 제공된 ERRNO.H
모든 정의가 32비트 Windows 운영 체제에서 사용되는 것은 아닙니다. 일부 값 ERRNO.H
은 UNIX 운영 체제 제품군과의 호환성을 기본 위해 제공됩니다. errno
32비트 Windows 운영 체제의 값은 UNIX 시스템에서 값 errno
의 하위 집합입니다.
값이 errno
반드시 Windows 운영 체제에서 시스템 호출에 의해 반환된 실제 오류 코드와 동일하지는 않습니다. 실제 운영 체제 오류 코드에 액세스하려면 이 값을 포함하는 변수를 사용합니다 _doserrno
.
지원되는 값은 다음과 errno
같습니다.
상수 | 설명 | 값 |
---|---|---|
E2BIG |
인수 목록이 너무 깁니다. | 7 |
EACCES |
사용 권한이 거부되었습니다. 등의 출력이 표시됩니다. 파일의 권한 설정은 지정된 액세스를 허용하지 않습니다. 파일의 특성과 호환되지 않는 방식으로 파일(또는 경우에 따라 디렉터리)에 액세스하려고 했습니다. 예를 들어 열려 있지 않은 파일에서 읽으려고 할 때 오류가 발생할 수 있습니다. 또는 쓰기를 위해 기존 읽기 전용 파일을 열거나 파일 대신 디렉터리를 열려고 시도합니다. MS-DOS 운영 체제 버전 3.0 이상 EACCES 에서는 잠금 또는 공유 위반을 나타낼 수도 있습니다.파일 또는 디렉터리의 이름을 바꾸거나 기존 디렉터리를 제거하려는 동안 오류가 발생할 수도 있습니다. |
13 |
EAGAIN |
더 이상 프로세스 또는 메모리가 부족하거나 최대 중첩 수준에 도달하지 않았습니다. 더 이상 프로세스 슬롯이 없거나 메모리가 부족하거나 최대 중첩 수준에 도달하여 새 프로세스를 만들지 못했습니다. | 11 |
EBADF |
잘못된 파일 번호입니다. 두 가지 가능한 원인이 있습니다. 1) 지정된 파일 설명자가 유효한 값이 아니거나 열려 있는 파일을 참조하지 않습니다. 2) 읽기 전용으로 열린 파일 또는 디바이스에 쓰려는 시도가 있었습니다. | 9 |
EBUSY |
디바이스 또는 리소스 사용 중입니다. | 16 |
ECHILD |
생성된 프로세스가 없습니다. | 10 |
EDEADLK |
리소스 교착 상태가 발생합니다. | 36 |
EDEADLOCK |
EDEADLK 이전 Microsoft C 버전과의 호환성과 동일합니다. |
36 |
EDOM |
수학 인수입니다. 수학 함수에 대한 인수는 함수의 do기본 없습니다. | 33 |
EEXIST |
파일이 있습니다. 이미 존재하는 파일을 만들려는 시도가 있었습니다. 예를 들어 호출에 _O_CREAT 플래그와 _O_EXCL 플래그가 _open 지정되지만 명명된 파일이 이미 있습니다. |
17 |
EFAULT |
잘못된 주소입니다. | 14 |
EFBIG |
파일이 너무 큽 수 있습니다. | 27 |
EILSEQ |
잘못된 바이트 시퀀스(예: MBCS 문자열)입니다. |
42 |
EINTR |
중단된 함수입니다. | 4 |
EINVAL |
인수가 잘못되었습니다. 함수의 인수 중 하나에 대해 잘못된 값이 지정되었습니다. 예를 들어 호출을 통해 파일 포인터를 배치할 때 원본에 fseek 지정된 값이 파일의 시작 위치 앞에 있습니다. |
22 |
EIO |
I/O 오류입니다. | 5 |
EISDIR |
디렉터리입니다. | 21 |
EMFILE |
열려 있는 파일이 너무 많습니다. 더 이상 사용 가능한 파일 설명자가 없으므로 더 이상 파일을 열 수 없습니다. | 24 |
EMLINK |
링크가 너무 많습니다. | 31 |
ENAMETOOLONG |
파일 이름이 너무 깁니다. | 38 |
ENFILE |
너무 많은 파일이 시스템에서 열립니다. | 23 |
ENODEV |
이러한 디바이스가 없습니다. | 19 |
ENOENT |
이러한 파일 또는 디렉터리가 없습니다. 지정된 파일 또는 디렉터리가 없거나 찾을 수 없습니다. 이 메시지는 지정된 파일이 없거나 경로의 구성 요소가 기존 디렉터리를 지정하지 않을 때마다 발생할 수 있습니다. | 2 |
ENOEXEC |
실행 형식 오류입니다. 실행 파일이 아니거나 실행 파일 형식이 잘못된 파일을 실행하려고 했습니다. | 8 |
ENOLCK |
잠금을 사용할 수 없습니다. | 39 |
ENOMEM |
시도된 연산자에 대한 메모리가 부족합니다. 예를 들어 이 메시지는 자식 프로세스를 실행하는 데 메모리가 부족하거나 호출의 _getcwd 할당 요청을 충족할 수 없는 경우에 발생할 수 있습니다. |
12 |
ENOSPC |
디바이스에 남은 공간이 없습니다. 디바이스에 더 이상 쓸 공간이 없습니다(예: 디스크가 꽉 찬 경우). | 28 |
ENOSYS |
함수는 지원되지 않습니다. | 40 |
ENOTDIR |
디렉터리가 아닙니다. | 20 |
ENOTEMPTY |
디렉터리가 비어 있지 않습니다. | 41 |
ENOTTY |
부적절한 I/O 제어 작업입니다. | 25 |
ENXIO |
이러한 디바이스 또는 주소가 없습니다. | 6 |
EPERM |
작업이 허용되지 않습니다. | 1 |
EPIPE |
깨진 파이프. | 32 |
ERANGE |
결과가 너무 큽니다. 수학 함수의 인수가 너무 커서 결과에서 중요 전체 또는 부분 손실이 발생했습니다. 인수가 예상보다 큰 경우(예: 인수가 예상보다 긴 경우 buffer _getcwd ) 다른 함수에서도 이 오류가 발생할 수 있습니다. |
34 |
EROFS |
파일 시스템만 읽습니다. | 30 |
ESPIPE |
검색이 잘못되었습니다. | 29 |
ESRCH |
그런 과정은 없습니다. | 3 |
EXDEV |
디바이스 간 연결입니다. 함수를 사용하여 파일을 다른 디바이스로 이동하려고 했습니다 rename . |
18 |
STRUNCATE |
문자열 복사 또는 연결에 의해 문자열이 잘렸습니다. _TRUNCATE 을(를) 참조하세요. |
80 |
POSIX와의 호환성을 위해 지원되는 값은 다음과 같습니다.
상수 | 설명 | 값 |
---|---|---|
EADDRINUSE |
사용 중인 주소입니다. | 100 |
EADDRNOTAVAIL |
주소를 사용할 수 없습니다. | 101 |
EAFNOSUPPORT |
주소 패밀리는 지원되지 않습니다. | 102 |
EALREADY |
커넥트이온이 이미 진행 중입니다. | 103 |
EBADMSG |
잘못된 메시지입니다. | 104 |
ECANCELED |
작업이 취소되었습니다. | 105 |
ECONNABORTED |
커넥트이 중단되었습니다. | 106 |
ECONNREFUSED |
커넥트 이온은 거절했다. | 107 |
ECONNRESET |
커넥트온 재설정. | 108 |
EDESTADDRREQ |
대상 주소가 필요합니다. | 109 |
EHOSTUNREACH |
호스트에 연결할 수 없습니다. | 110 |
EIDRM |
식별자가 제거되었습니다. | 111 |
EINPROGRESS |
작업이 진행 중입니다. | 112 |
EISCONN |
이미 연결되어 있습니다. | 113 |
ELOOP |
너무 많은 기호 링크 수준입니다. | 114 |
EMSGSIZE |
메시지 크기입니다. | 115 |
ENETDOWN |
네트워크 다운. | 116 |
ENETRESET |
네트워크 재설정. | 117 |
ENETUNREACH |
네트워크에 연결할 수 없습니다. | 118 |
ENOBUFS |
버퍼 공간이 없습니다. | 119 |
ENODATA |
사용할 수 있는 메시지가 없습니다. | 120 |
ENOLINK |
링크가 없습니다. | 121 |
ENOMSG |
메시지가 없습니다. | 122 |
ENOPROTOOPT |
프로토콜 옵션이 없습니다. | 123 |
ENOSR |
스트림 리소스가 없습니다. | 124 |
ENOSTR |
스트림이 아닙니다. | 125 |
ENOTCONN |
연결되지 않았습니다. | 126 |
ENOTRECOVERABLE |
상태를 복구할 수 없습니다. | 127 |
ENOTSOCK |
소켓이 아닙니다. | 128 |
ENOTSUP |
지원되지 않습니다. | 129 |
EOPNOTSUPP |
작업이 지원되지 않습니다. | 130 |
EOTHER |
기타. | 131 |
EOVERFLOW |
값이 너무 큽다. | 132 |
EOWNERDEAD |
주인이 죽었어. | 133 |
EPROTO |
프로토콜 오류입니다. | 134 |
EPROTONOSUPPORT |
프로토콜이 지원되지 않습니다. | 135 |
EPROTOTYPE |
프로토콜 유형이 잘못되었습니다. | 136 |
ETIME |
스트림 시간 제한입니다. | 137 |
ETIMEDOUT |
초과. | 138 |
ETXTBSY |
텍스트 파일이 사용 중입니다. | 139 |
EWOULDBLOCK |
작업이 차단됩니다. | 140 |
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기