mkdtemp(3) 他と重ならない一時的なディレクトリを作成する

書式

#include <stdlib.h>


char *mkdtemp(char *template);

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

mkdtemp():

_BSD_SOURCE
|| /* Since glibc 2.10: */
(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)

説明

mkdtemp() 関数は、他と重ならない名前の一時的なディレクトリを template から作成する。 template の後から 6 文字は XXXXXX でなければならない。 この部分はディレクトリ名を他と重ならなくするための 文字列で置き換えられる。 ディレクトリは許可属性を 0700 として作成される。 template は変更されるので、文字列定数にしてはならず、文字配列にすべきである。

返り値

成功した場合、 mkdtemp() 関数は 変更された template 文字列へのポインタを返す。 失敗した場合は、NULL を返して、 errno を適切に設定する。

エラー

EINVAL
template の最後の 6 文字が XXXXXX でない。この場合、template は変更されない。

errno に設定される他の値については、 mkdir(2) を参照すること。

バージョン

OpenBSD 2.2 で導入された。

準拠

POSIX.1-2008. この関数は BSD に存在する。

この文書について

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