tmpnam,_wtmpnam
stdio.h:インデックス への移動
ヘッダーファイル
stdio.h
カテゴリ
入出力ルーチン
プロトタイプ
char *tmpnam(char *s);
wchar_t *_wtmpnam(wchar_t *s);
説明
一意のファイル名を作成します。
tmpnam は,一時ファイルの名前として安全に使用できる一意のファイル名を作成します。tmpnam は,呼び出される(最大 TMP_MAX 回)たびに異なる文字列を生成します。TMP_MAX は,stdio.h で 65,535 と定義されています。
tmpnam のパラメータ s は,NULL または長さ L_tmpnam 以上の文字配列を指すポインタです。L_tmpnam は,stdio.h で定義されています。s が NULL の場合,tmpnam は,生成した一時ファイル名を内部の静的オブジェクトに置き,そのオブジェクトを指すポインタを返します。s が NULL でない場合,tmpnam は,内部の静的オブジェクトを上書きし,ポインタで指定された配列(長さ L_tmpnam 文字以上である必要がある)に結果を置き,s を返します。
tmpnam を使って一時ファイルを作成した場合は,自分でファイル名を削除する(たとえば,remove を呼び出す)必要があります。ファイル名は自動的に削除されません。tmpfile はファイル名を削除します。
戻り値
s が NULL の場合,tmpnam は,内部の静的オブジェクトを指すポインタを返します。そうでない場合は,s を返します。
例
#include <stdio.h>
int main(void)
{
char name[13];
tmpnam(name);
printf("Temporary name: %s\n", name);
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
tmpnam |
+ |
+ |
+ |
+ |
_wtmpnam |
+ |