perror(3) - wariua/manpages-ko GitHub Wiki
perror - μμ€ν μ€λ₯ λ©μμ§ μ°κΈ°
#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
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(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
perror() |
μ€λ λ μμ μ± | MT-Safe race:stderr |
perror()
, errno
: POSIX.1-2001, POSIX.1-2008, C89, C99, 4.3BSD.
μΈλΆ λ³μ sys_nerr
λ° sys_errlist
λ BSDμμ μ¨ κ²μ΄λ©° POSIX.1μλ λͺ
μΈλΌ μμ§ μλ€.
glibcμ μΈλΆ λ³μ sys_nerr
λ° sys_errlist
κ° μ μλΌ μκΈ°λ νλ° <stdio.h>
μ μλ€.
err(3), errno(3), error(3), strerror(3)
2019-03-06