errno
상수
구문
#include <errno.h>
설명
상수는 errno
다양한 오류 조건에 할당된 errno
값입니다.
ERRNO.H
에는 값의 정의가 errno
포함되어 있습니다. 그러나 제공된 ERRNO.H
모든 정의가 32비트 Windows 운영 체제에서 사용되는 것은 아닙니다. 운영 체제의 UNIX 제품군과의 호환성을 유지하기 위해 일부 값 ERRNO.H
이 있습니다. 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 |
수학 인수입니다. 수학 함수에 대한 인수는 함수의 도메인에 없습니다. | 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 |