perror(3) - wariua/manpages-ko GitHub Wiki

NAME

perror - μ‹œμŠ€ν…œ 였λ₯˜ λ©”μ‹œμ§€ 찍기

SYNOPSIS

#include <stdio.h>

void perror(const char *s);

#include <errno.h>

const char * const sys_errlist[];
int sys_nerr;
int errno;       /* μ‹€μ œ μ΄λ ‡κ²Œ 선언돼 μžˆμ§€ μ•ŠμŒ. errno(3) μ°Έκ³  */

glibc κΈ°λŠ₯ 확인 맀크둜 μš”κ±΄ (feature_test_macros(7) μ°Έκ³ ):

sys_errlist, sys_nerr:
glibc 2.19λΆ€ν„°:
_DEFAULT_SOURCE
glibc 2.19 및 이전:
_BSD_SOURCE

DESCRIPTION

perror() ν•¨μˆ˜λŠ” μ‹œμŠ€ν…œ λ‚΄μ§€ 라이브러리 ν•¨μˆ˜ 호좜 쀑 λ§Œλ‚œ μ΅œμ’… 였λ₯˜λ₯Ό μ„€λͺ…ν•˜λŠ” λ©”μ‹œμ§€λ₯Ό ν‘œμ€€ 였λ₯˜λ‘œ λ‚΄λ†“λŠ”λ‹€.

λ¨Όμ € (sκ°€ NULL이 μ•„λ‹ˆκ³  *sκ°€ 널 λ°”μ΄νŠΈ('\0')κ°€ μ•„λ‹ˆλ©΄) 인자 λ¬Έμžμ—΄ sλ₯Ό 찍고 μ΄μ–΄μ„œ 콜둠과 곡백을 μ°λŠ”λ‹€. λ‹€μŒμœΌλ‘œ ν˜„μž¬ errno 값에 ν•΄λ‹Ήν•˜λŠ” 였λ₯˜ λ©”μ‹œμ§€μ™€ κ°œν–‰μ΄ μ˜¨λ‹€.

μ œλŒ€λ‘œ μ“°λ €λ©΄ 인자 λ¬Έμžμ—΄μ— 였λ₯˜κ°€ λ°œμƒν•œ ν•¨μˆ˜μ˜ 이름을 ν¬ν•¨μ‹œν‚€λŠ” 게 μ’‹λ‹€.

μ „μ—­ 였λ₯˜ λͺ©λ‘ sys_errlist[]λŠ” errnoλ₯Ό 인덱슀둜 μ‚¬μš©ν•΄μ„œ κ°œν–‰ μ—†λŠ” 였λ₯˜ λ©”μ‹œμ§€λ₯Ό 얻을 수 μžˆλ‹€. 이 ν…Œμ΄λΈ”μ—μ„œ μ œκ³΅ν•˜λŠ” κ°€μž₯ 높은 λ©”μ‹œμ§€ λ²ˆν˜ΈλŠ” sys_nerr-1이닀. μƒˆ 였λ₯˜ 값이 sys_errlist[]에 μΆ”κ°€λ˜μ§€ μ•Šμ•˜μ„ μˆ˜λ„ μžˆμœΌλ―€λ‘œ 이 λͺ©λ‘μ— 직접 μ ‘κ·Όν•  λ•ŒλŠ” 쑰심해야 ν•œλ‹€. μš”μ¦˜μ€ sys_errlist[]λ₯Ό μ“°μ§€ μ•ŠλŠ” 게 μ’‹λ‹€. λŒ€μ‹  strerror(3)λ₯Ό μ“°λ©΄ λœλ‹€.

μ‹œμŠ€ν…œ 호좜이 μ‹€νŒ¨ν•˜λ©΄ 보톡 -1을 λ°˜ν™˜ν•˜λ©΄μ„œ errno에닀가 뭐가 잘λͺ»λλŠ”μ§€ μ„€λͺ…ν•˜λŠ” 값을 μ„€μ •ν•œλ‹€. (이 값듀을 <errno.h>μ—μ„œ λ³Ό 수 μžˆλ‹€.) μ—¬λŸ¬ 라이브러리 ν•¨μˆ˜λ“€λ„ λΉ„μŠ·ν•˜λ‹€. perror() ν•¨μˆ˜λŠ” κ·Έ 였λ₯˜ μ½”λ“œλ₯Ό μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” ν˜•νƒœλ‘œ λ°”κΏ” μ£ΌλŠ” 역할을 ν•œλ‹€. 참고둜 μ‹œμŠ€ν…œ ν˜ΈμΆœμ΄λ‚˜ 라이브러리 ν•¨μˆ˜ 호좜이 μ„±κ³΅ν•œ ν›„μ˜ errnoλŠ” κ·œμ •λΌ μžˆμ§€ μ•Šλ‹€. μ„±κ³΅ν•˜λŠ” κ²½μš°μ—λ„ ν˜ΈμΆœμ—μ„œ κ·Έ λ³€μˆ˜λ₯Ό λ°”κΏ€ 수 μžˆλŠ”λ°, 예λ₯Ό λ“€μ–΄ λ‚΄λΆ€μ μœΌλ‘œ μ΄μš©ν•œ μ–΄λ–€ λ‹€λ₯Έ 라이브러리 ν•¨μˆ˜κ°€ μ‹€νŒ¨ν•΄μ„œμΌ 수 μžˆλ‹€. λ”°λΌμ„œ μ‹€νŒ¨ν•œ 호좜 λ°”λ‘œ λ‹€μŒμ—μ„œ perror()λ₯Ό ν˜ΈμΆœν•˜λŠ” 게 μ•„λ‹Œ κ²½μš°μ—λŠ” errno 값을 μ €μž₯ν•΄ λ‘λŠ” 게 μ’‹λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
perror() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe race:stderr

CONFORMING TO

perror(), errno: POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.

μ™ΈλΆ€ λ³€μˆ˜ sys_nerr 및 sys_errlistλŠ” BSDμ—μ„œ 온 것이며 POSIX.1μ—λŠ” λͺ…세돼 μžˆμ§€ μ•Šλ‹€.

NOTES

glibc에 μ™ΈλΆ€ λ³€μˆ˜ sys_nerr 및 sys_errlistκ°€ μ •μ˜λΌ μžˆκΈ°λŠ” ν•œλ° <stdio.h>에 μžˆλ‹€.

SEE ALSO

err(3), errno(3), error(3), strerror(3)


2019-03-06

⚠️ **GitHub.com Fallback** ⚠️