C言語 一時ファイル名(テンポラリファイル名)の作成 - stdio.h - [ tmpnam ]

2008.10.02 Thursday | by LRESULT


ンポラリファイル名(一時ファイル名)の作成には、tmpnam()を使います。

テンポラリファイル名とは、既存のファイルと重複しないような
ユニークな名前で、一時処理する為のファイル名です。


tmpnam
書式 char *tmpnam( char *name )
機能 一時ファイル名(テンポラリファイル名)の作成
引数 char *name : L_tmpnam バイト数の配列に一時ファイル名を格納。
戻り値 引数にNULLを入れると、戻り値に一時ファイル名を返します。


L_tmpnam とは、一時ファイル名のバイト数の最大値で、
#define L_tmpnam で定義されています。

また、一時ファイル名を作成できる上限個数は、
#define TMP_MAX で定義されています。





サンプルコード
一時ファイル名を5個作成してみます。
#include <stdio.h>

int main(void)
{
  int i;
  char fname[ L_tmpnam ];

  for( i=0; i<5; i++ ){
    tmpnam( fname );
    printf( "%s¥n", fname );
  }
  return 0;
}



結果 - VC8
¥s3eo.
¥s3eo.1
¥s3eo.2
¥s3eo.3
¥s3eo.4
VC8の場合は、上記のように表示されました。



結果 - C++Builder6
TMP1.$$$
TMP2.$$$
TMP3.$$$
TMP4.$$$
TMP5.$$$
C++Builderの場合は、上記のように表示されます。

というわけで、一時ファイル名を取得する事が出来ました。
ちなみに、ソースファイルがあるフォルダ内に、「TMP1.$$$」ファイルを作成してから
実行すると、「TMP1.$$$」というファイル名はキッチリ外されてました。

カテゴリ:C言語 stdio.h | 22:36 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/61

トラックバック