Man page - mktemp(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

MKTEMP

名 前
書 式
説 明
返 り 値
エ ラ ー
属 性
準 拠
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

mktemp - 他 と 重 な ら な い テ ン ポ ラ リ フ ァ イ ル 名 を 作 成 す る

書 式

#include <stdlib.h>

char *mktemp(char * template );

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):

mktemp ():

glibc 2.12 以 降 :

(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
|| /* Glibc since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

glibc 2.12 よ り 前 :

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500

説 明

決 し て こ の 関 数 は 使 用 し な い こ と 。 「 バ グ 」 を 参 照 。

関 数 mktemp () は 引 数 template か ら 他 と 重 な ら な い テ ン ポ ラ リ フ ァ イ ル 名 を 作 成 す る 。 引 数 template で 指 示 す る 文 字 配 列 の 後 6文 字 は XXXXXX で あ る 必 要 が あ る 。 こ の 部 分 が フ ァ イ ル 名 を 他 と 重 な ら な い に す る よ う な 文 字 で 置 き 換 え ら れ る 。 template は 書 き 換 え ら れ る た め 、 文 字 列 定 数 で は な く 文 字 配 列 と し て 宣 言 す る よ う に し な け れ ば な ら な い 。

返 り 値

関 数 mktemp () は 常 に template を 戻 す 。 一 意 な 名 前 が 作 成 さ れ た 場 合 、 template の 最 後 の 6 バ イ ト に 他 と 重 な ら な い 名 前 (そ れ ま で に 出 て い な い 名 前 ) に な る よ う な 値 が 格 納 さ れ る 。 一 意 な 名 前 が 作 成 で き な か っ た 場 合 に は 、 template に は 空 文 字 列 が セ ッ ト さ れ 、 errno に エ ラ ー を 示 す 値 が セ ッ ト さ れ る 。

エ ラ ー

EINVAL

引 数 template で 指 示 さ れ た 文 字 列 の 後 6文 字 が XXXXXX で な い 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-25958-1.png

準 拠

4.3BSD, POSIX.1-2001. POSIX.1-2008 で は mktemp () の 仕 様 が 削 除 さ れ て い る 。

バ グ

mktemp () を 決 し て 使 わ な い こ と 。 4.3BSD 系 の 実 装 や XXXXXX を プ ロ セ ス ID と 1文 字 に よ り 置 き 換 え る 方 式 で は せ い ぜ い 26の 名 前 を 返 す こ と が で き る に す ぎ な い 。 こ の 名 前 は 簡 単 に 推 測 で き る こ と や 、 そ の 名 前 が す で に 存 在 し て い る か ど う か テ ス ト し て 、 そ の フ ァ イ ル を オ ー プ ン す る 間 に 競 合 が あ る 事 か ら 、 mktemp () を 使 う の は 毎 回 セ キ ュ リ テ ィ リ ス ク を お か す こ と に な る 。 こ の 競 合 は mkstemp (3) や mkdtemp (3) を 使 う こ と で 避 け ら れ る 。

関 連 項 目

mktemp (1), mkdtemp (3), mkstemp (3), tempnam (3), tmpfile (3), tmpnam (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。