tmpnam() — 一時ファイル名の作成
フォーマット
#include <stdio.h>
char *tmpnam(char *string);
言語レベル
ANSI
スレッド・セーフ
はい
ただし、tmpnam(NULL) の使用はスレッド・セーフではありません。
説明
tmpnam() 関数は、既存のファイルの名前と異なる有効なファイル名を作成します。 これは、この名前を string に保管します。string が NULL の場合には、tmpnam() 関数は内部静的バッファーの 結果を終了します。以降の呼び出しは、この値を破棄します。string が NULL ではないときには、これは少なくとも L_tmpnam バイトの配列を指している必要があります。L_tmpnam の値は <stdio.h> で定義されます。
tmpnam() 関数は、少なくとも最大 TMP_MAX 名の活動化グループ内で 呼び出されるたびに、異なる名前を作成します。ILE C の場合、TMP_MAX は 32 767 です。これは理論上の限度です。同時にオープンできる 実際のファイル数は、システムで使用可能なスペースによって異なります。
戻り値
tmpnam() 関数は、その名前へのポインターを戻します。固有の名前を 作成できない場合は、NULL を戻します。
例
この例では tmpnam() を呼び出して、有効なファイル名を作成します。
#include <stdio.h>
int main(void)
{
char *name1;
if ((name1 = tmpnam(NULL)) !=NULL)
printf("%s can be used as a file name.¥n", name1);
else
printf("Cannot create a unique file name\n");
}