Man page - tempnam(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

TEMPNAM

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
エ ナ ãƒŧ
åąž 性
æē– 拠
æŗ¨ 意
バ グ
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

tempnam - テ ãƒŗ ポ ナ ãƒĒ フ ã‚Ą イ ãƒĢ ぎ 名 前 を äŊœ 成 す る

書 åŧ

#include <stdio.h>

char *tempnam(const char * dir , const char * pfx );

glibc 向 け ぎ 抟 čƒŊ 検 æŸģ マ ク ロ ぎ čρ äģļ ( feature_test_macros (7) 参 į…§ ):

tempnam ():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_BSD_SOURCE || _SVID_SOURCE

čĒŦ 明

æąē し ãĻ こ ぎ é–ĸ 数 を äŊŋ ᔍ し ãĒ い こ と 。 äģŖ ã‚ り ãĢ mkstemp (3) か tmpfile (3) を äŊŋ う こ と 。

tempnam () é–ĸ 数 は フ ã‚Ą イ ãƒĢ 名 と し ãĻ æ­Ŗ し い 文 字 列 へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を čŋ” す 。 こ ぎ フ ã‚Ą イ ãƒĢ 名 を 持 つ フ ã‚Ą イ ãƒĢ は 、 tempnam () が チ ェ ッ ク し た 時 į‚š ãĢ お い ãĻ は 存 在 し ãĒ い (し ãĒ か ãŖ た )。 pfx が NULL で ãĒ い 5 バ イ ト äģĨ 内 ぎ 文 字 列 で あ れ ば 、 į”Ÿ 成 さ れ る パ ゚ 名 ぎ う ãĄ ぎ フ ã‚Ą イ ãƒĢ 名 ぎ 部 分 は pfx か ら 始 ぞ る も ぎ ãĢ ãĒ る 。 į”Ÿ 成 さ れ る デ ã‚Ŗ ãƒŦ ク ト ãƒĒ ぎ 部 分 は 、 「 遊 切 」 で ãĒ け れ ば ãĒ ら ãĒ い (大 æŠĩ ぎ å ´ 合 、 「 遊 切 」 で あ る た め ãĢ は ぞ ず 少 ãĒ く と も 書 き čžŧ ãŋ 可 čƒŊ で ãĒ け れ ば ãĒ ら ãĒ い )。

遊 切 ãĒ デ ã‚Ŗ ãƒŦ ク ト ãƒĒ ぎ æŽĸ į´ĸ は 、 äģĨ 下 ぎ 手 順 ãĢ し た が ãŖ ãĻ 行 わ れ る 。

a)

į’° åĸƒ 変 数 TMPDIR が 設 厚 さ れ ãĻ い ãĻ 、 そ ぎ 内 厚 が 遊 切 ãĒ デ ã‚Ŗ ãƒŦ ク ト ãƒĒ ぎ 名 前 ãĒ ら 、 そ れ を ᔍ い る 。

b)

そ れ äģĨ 外 ぎ å ´ 合 、 dir åŧ• 数 が NULL で ãĒ い 文 字 列 で か つ 遊 切 ãĒ ら 、 そ れ を ᔍ い る 。

c)

そ れ äģĨ 外 ぎ å ´ 合 、 ( <stdio.h> で 厚 įžŠ さ れ ãĻ い る ) P_tmpdir が 遊 切 ãĒ ら 、 そ れ を ᔍ い る 。

d)

最 垌 ãĢ 原 čŖ… で 厚 įžŠ さ れ た デ ã‚Ŗ ãƒŦ ク ト ãƒĒ が ᔍ い ら れ る こ と ãĢ ãĒ る 。

tempnam () が čŋ” す 文 字 列 は malloc (3) を äŊŋ ãŖ ãĻ įĸē äŋ さ れ る 。 そ ぎ た め 、 free (3) で č§Ŗ 攞 す ず き で あ る 。

čŋ” り 値

成 功 す る と tempnam () é–ĸ 数 は 、 一 意 ãĒ テ ãƒŗ ポ ナ ãƒĒ フ ã‚Ą イ ãƒĢ 名 へ ぎ ポ イ ãƒŗ ã‚ŋ ãƒŧ を čŋ” す 。 一 意 ãĒ 名 前 が į”Ÿ 成 で き ãĒ け れ ば NULL を čŋ” し 、 errno ãĢ エ ナ ãƒŧ ぎ 原 因 を į¤ē す 値 を 設 厚 す る 。

エ ナ ãƒŧ

ENOMEM

äŋ 存 領 域 ぎ 剞 り åŊ“ ãĻ ãĢ å¤ą 敗 し た 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-15128-1.png

æē– 拠

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 も こ ぎ 通 り で あ る )。

パ ゚ 名 を čŋ” す ぎ ãĢ äŊŋ ᔍ す る ãƒĄ ãƒĸ ãƒĒ ãƒŧ を 動 įš„ ãĢ įĸē äŋ す る ぎ で 、 tmpnam (3) と 違 い 、 tempnam () は ãƒĒ エ ãƒŗ ト ナ ãƒŗ ト で あ り 、 ゚ ãƒŦ ッ ド ã‚ģ ãƒŧ フ で あ る 。

tempnam () é–ĸ 数 は 最 大 TMP_MAX 回 ぞ で 、 å‘ŧ ãŗ å‡ē さ れ る åēĻ ãĢ į•° ãĒ る 文 字 列 を äŊœ 成 す る ( TMP_MAX は <stdio.h> で 厚 įžŠ さ れ ãĻ い る )。 も し TMP_MAX 回 äģĨ 上 å‘ŧ ãŗ å‡ē さ れ た å ´ 合 、 動 äŊœ は 原 čŖ… 䞝 存 で あ る 。

tempnam () は 最 大 で pfx ぎ 先 é ­ 5 バ イ ト を äŊŋ ᔍ す る 。

äģ– ã¨ 重 ãĒ ら ãĒ い 名 前 が čĻ‹ つ け ら れ ãĒ か ãŖ た å ´ 合 、 glibc ぎ tempnam () ぎ 原 čŖ… は エ ナ ãƒŧ EEXIST で å¤ą 敗 す る 。

バ グ

「 遊 切 」 と い う 言 葉 ぎ æ­Ŗ įĸē ãĒ 意 呺 は 厚 įžŠ さ れ ãĻ い ãĒ い 。 デ ã‚Ŗ ãƒŦ ク ト ãƒĒ ãĢ 寞 し ãĻ お ぎ ፋ åēĻ ãŽ ã‚ĸ ク ã‚ģ ゚ 樊 限 が åŋ… čρ ãĒ ぎ か は 指 厚 さ れ ãĻ い ãĒ い 。

é–ĸ 逪 項 į›Ž

mkstemp (3), mktemp (3), tmpfile (3), tmpnam (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。