ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

ユニークな一時ファイル名を GetTempFileName で作成 

更新 : 2009/04/28

 



解説:
一時的なファイル名を作りたい時は GetTempFileName 関数を使うと便利です。この関数は指定
ディレクトリにユニークで重複しない一時的なファイルを作成してくれます。

関数は path\prefixnum.tmp の形式で一時的なファイルを作成します。
UINT GetTempFileName(path, prefix, num, tmpFileName);   

    LPCTSTR path このパスで指定したところに
一時的なファイルを作成
    LPCTSTR prefix 
一時的なファイル名に付けるプリフィックス文字列
    UINT num 0指定することでファイル名に付加される数をシステム時間から生成(16進値)。
    LPTSTR tmpFileName 生成される
一時的なファイル

使用例:
以下の例では、
ユニークで一時的なファイルを作成しています。

準備として Button を適当に配置してください。

Button1 をクリックするとアプリケーションと同じディレクトリに一時的な名前でファイルが作成されます。

使用されている定数 MAX_PATH は、パス名およびパス名を構成する個々のフィールドの最大長が定義されています。アプリケーションでは、値(MAX_PATH の値は "260")をコーディングするのではなく、MAX_PATH 定数名を使用したほうが良いとされています。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    AnsiString tmpPath, prefix;
    char tmpFileName[MAX_PATH];
    tmpPath = '.';    //
一時的なファイルのディレクトリを指定('.' はカレントディレクトリの意)。
    prefix = "UNC";//
一時的なファイル名の先頭 3 文字まで指定。

    GetTempFileName(tmpPath.c_str(), prefix.c_str(), 0, tmpFileName);
    Caption = tmpFileName;
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.