tempnam(3) - wariua/manpages-ko GitHub Wiki
tempnam - μμ νμΌ μ΄λ¦ λ§λ€κΈ°
#include <stdio.h>
char *tempnam(const char *dir, const char *pfx);
glibc κΈ°λ₯ νμΈ λ§€ν¬λ‘ μ건 (feature_test_macros(7) μ°Έκ³ ):
-
tempnam()
: -
- glibc 2.19λΆν°:
_DEFAULT_SOURCE
- glibc 2.19 λ° μ΄μ :
_BSD_SOURCE || _SVID_SOURCE
μ΄ ν¨μλ₯Ό μ λ μ°μ§ λ§ κ². λμ mkstemp(3)λ tmpfile(3)μ μ¬μ©νλΌ.
tempnam()
ν¨μλ μ ν¨ν νμΌλͺ
μΈ λ¬Έμμ΄μ λν ν¬μΈν°λ₯Ό λ°ννλ€. tempnam()
μμ νμΈνλ μμ μλ κ·Έ μ΄λ¦μΌλ‘ λ νμΌμ΄ μ‘΄μ¬νμ§ μλλ€. pfx
κ° μ΅λ λ€μ― λ°μ΄νΈμ NULL μλ λ¬Έμμ΄μΈ κ²½μ° μμ± κ²½λ‘λͺ
μ νμΌλͺ
λΆλΆμ΄ pfx
λ‘ μμνκ² λλ€. μμ± κ²½λ‘λͺ
μ λλ ν°λ¦¬ λΆλΆμ΄ "μ μ "ν΄μΌ (λ³΄ν΅ μ μ΄λ μ°κΈ° κ°λ₯ν΄μΌ) νλ€.
μ μ ν λλ ν°λ¦¬λ₯Ό μ°ΎκΈ° μν΄ λ€μ λ¨κ³λ₯Ό κ±°μΉλ€.
a) νκ²½ λ³μ TMPDIR
μ΄ μ‘΄μ¬νμ¬ μ μ ν λλ ν°λ¦¬ μ΄λ¦μ λ΄κ³ μλ κ²½μ°μλ κ·Έκ±Έ μ΄λ€.
b) μλλ©΄, dir
μΈμκ° NULLμ΄ μλκ³ μ μ νλ©΄ κ·Έκ±Έ μ΄λ€.
c) μλλ©΄, (<stdio.h>
μ μ μλ) P_tmpdir
μ΄ μ μ νλ©΄ κ·Έκ±Έ μ΄λ€.
d) λ§μ§λ§μΌλ‘, ꡬνμμ μ ν λλ ν°λ¦¬λ₯Ό μ¬μ©ν μ μλ€.
tempnam()
μ΄ λ°ννλ λ¬Έμμ΄μ malloc(3)μΌλ‘ ν λΉν κ²μ΄λ―λ‘ free(3)λ‘ ν΄μ ν΄ μ€μΌ νλ€.
μ±κ³΅ μ tempnam()
ν¨μλ μ μΌν μμ νμΌλͺ
μ λν ν¬μΈν°λ₯Ό λ°ννλ€. μ μΌν μ΄λ¦μ μμ±ν μ μλ κ²½μ° NULLμ λ°ννλ©° μ€λ₯ μμΈμ λνλ΄λλ‘ errno
λ₯Ό μ€μ νλ€.
ENOMEM
- μ μ₯ κ³΅κ° ν λΉμ μ€ν¨νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
tempnam() |
μ€λ λ μμ μ± | MT-Safe env |
SVr4, 4.3BSD, POSIX.1-2001. POSIX.1-2008μμ tempnam()
μ ꡬμμΌλ‘ νμνμλ€.
tempnam()
μ΄ μΆμΈ‘νκΈ° μ΄λ €μ΄ μ΄λ¦μ λ§λ€μ΄ λ΄κΈ°λ νμ§λ§ κ·Έλλ tempnam()
μ΄ κ²½λ‘λͺ
μ λ°ννλ μμ κ³Ό νλ‘κ·Έλ¨μμ κ·Έ κ²½λ‘λͺ
μ μ¬λ μμ μ¬μ΄μ λ€λ₯Έ νλ‘κ·Έλ¨μ΄ open(2)μΌλ‘λ μ¬λ³Όλ¦ λ§ν¬ ννλ‘ κ·Έ κ²½λ‘λͺ
μ λ§λ€μ΄ λΌ μλ μλ€. κ·Έλ¦¬κ³ κ·Έκ² λ³΄μ μ·¨μ½μ μΌλ‘ μ΄μ΄μ§ μ μλ€. κ·Έλ° κ°λ₯μ±μ νΌνλ €λ©΄ κ²½λ‘λͺ
μ μ΄ λ open(2)μ O_EXCL
νλκ·Έλ₯Ό μ¬μ©νλ©΄ λλ€. λλ λ λ°λμ§νκ²λ mkstemp(3)λ tmpfile(3)μ μ°λ©΄ λλ€.
SUSv2μμλ TMPDIR
μ¬μ©μ μΈκΈνκ³ μμ§ μλ€. glibcμμλ νλ‘κ·Έλ¨μ΄ set-user-IDκ° μλ λλ§ μ΄λ€. SVr4μμ d) λ¨κ³μ μ°λ λλ ν°λ¦¬λ /tmp
μ΄λ€. (glibcμμλ κ·Έλ λ€.)
κ²½λ‘λͺ
μ λ°ννλ λ° μ°λ λ©λͺ¨λ¦¬λ₯Ό λμ μΌλ‘ ν λΉνκΈ° λλ¬Έμ tempnam()
μ μ¬μ§μ
κ°λ₯νλ©°, λ°λΌμ tmpnam(3)κ³Ό λ¬λ¦¬ μ€λ λμ μμ νλ€.
tempnam()
ν¨μλ (<stdio.h>
μ μ μλ) TMP_MAX
λ²κΉμ§λ νΈμΆ λλ§λ€ λ€λ₯Έ λ¬Έμμ΄μ λ§λ€μ΄ λΈλ€. TMP_MAX
λ² λκ² νΈμΆνλ κ²½μ°μ λμ λ°©μμ ꡬνμμ κ·μ νλ€.
tempnam()
μ pfx
μ²μμ μ΅λ λ€μ― λ°μ΄νΈλ₯Ό μ¬μ©νλ€.
tempnam()
μ glibc ꡬνμμλ μ μΌν μ΄λ¦μ μ°Ύλ λ° μ€ν¨ν κ²½μ° EEXIST
μ€λ₯λ‘ μ€ν¨νλ€.
"μ μ "μ μ νν μλ―Έκ° κ·μ λΌ μμ§ μλ€. λλ ν°λ¦¬ μ κ·Ό κ°λ₯ μ¬λΆλ₯Ό μ΄λ»κ² νλ¨νλμ§ λͺ μΈλΌ μμ§ μλ€.
mkstemp(3), mktemp(3), tmpfile(3), tmpnam(3)
2017-09-15