C언어
c 표준정의와 관련 에러 설명
HJdone
2019. 4. 17. 21:43
C라이브러리는 ERRNO값을 그에 맞는 문자열 표현으로 변환하는 함수를 몇 가지 제공하고 있다.
지금부터 사용자에게 에러를 알려줄 때 사용하는 문자열들을 살펴보겠다.흔히 선행처리기정의와 ERRNO를 직접 활용해서 에러 검사와 처리 작업을 실행한다.
선행처리기 문자열 정의 |
설명 |
E2BIG | 너무 긴 인자 목록 |
EACCESS | 접근 거부 |
EAGAIN | 재시도 |
EBADF | 잘못된 파일 번호 |
EBUSY | 이미 사용 중인 디바이스나 리소스 |
ECHILD | 자식 프로세스 없음 |
EDOM | 함수영역을 넘어선 수학 인자 |
EEXIST | 이미 존재하는 파일 |
EFAULT | 잘못된 주소 |
EFBIG | 너무 큰 파일 |
EINTR | 인터럽트가 걸린 시스템 호출 |
EINVAL | 유효하지 않은 인자 |
EIO | 입출력 에러 |
EISDIR | 디렉터리임 |
EMFILE | 열린 파일이 너무 많음 |
EMLINK | 너무 많은 링크 |
ENFILE | 파일 테이블 넘침 |
ENODEV | 그런 디바이스 없음 |
ENOENT | 그런 파일이나 디렉터리 없음 |
EOEXEC | 잘못된 실행 파일 형식 |
ENOMEM | 메모리 부족 |
ENOSPC | 디바이스에 남은 공간 없음 |
ENOTTY | 부적절한 입출력 제어 연산 |
ENXIO | 그런 디바이스나 주소 없음 |
EPERM | 허용되지 않은 연산 |
EPIPE | 파이프 깨짐 |
ERANGE | 너무 긴 결과 |
EROFS | 읽기 전용 파일시스템 |
ESPIPE | 유효하지 않은 탐색 |
ESRCH | 그런 프로세스 없음 |
ETXTBSY | 이미 사용 중인 텍스트 파일 |
EXDEV | 적절하지 않은 링크 |
perror()는 str이 가리키는 문자열 뒤에 콜론(:)을 붙인 다음에 errno가 기술하는 현재 에러를 문자열로 바꿔 표준 에러(
stderr:standard error)로 내보낸다.