other versions
MKSTEMP(3) | Linux Programmer's Manual | MKSTEMP(3) |
名前¶
mkstemp, mkostemp, mkstemps, mkostemps - 他と重ならない名前を持つ一時ファイルを作成する書式¶
#include <stdlib.h>int mkstemp(char *template);int mkostemp(char *template, int flags);int mkstemps(char *template, int suffixlen);int mkostemps(char *template, int suffixlen, int flags);
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
_BSD_SOURCE || _SVID_SOURCE ||
_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200112L
mkostemp(): _GNU_SOURCE
説明¶
関数 mkstemp() は引数 template から他と重ならない一時ファイル名を生成し、 そのファイルの作成とオープンを行い、 そのファイルに対するオープン済みのファイルディスクリプタを返す。返り値¶
成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラーの場合は、-1 を返し、 errno を適切に設定する。エラー¶
- EEXIST
- すでに同じ名前を持つファイルが存在した。 template の内容は不定である。
- EINVAL
- mkstemp() と mkostemp()
の場合: template の最後の
6 文字が XXXXXX
でなかった。
この場合、 template
は変更されない。
バージョン¶
mkostemp() は glibc 2.7 以降で利用できる。 mkstemps() と mkostemps() は glibc 2.11 以降で利用できる。準拠¶
mkstemp(): 4.3BSD, POSIX.1-2001.注意¶
許可モード 0666 でファイルを作成するという古い動作は、 セキュリティ上のリスク になる場合がある。 特に他の UNIX では許可モードとして 0600 を使うため、 プログラムを移植する際、この細かな違いを見落とす可能性があるからだ。関連項目¶
mkdtemp(3), mktemp(3), tempnam(3), tmpfile(3), tmpnam(3)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2012-04-21 | GNU |