Win32API テンポラリファイル名を作成する GetTempFileName
テンポラリファイル名を作成するには、GetTempFileName関数を使用する。
GetTempFileNameのプロトタイプ
UINT GetTempFileName( LPCTSTR lpPathName, // ディレクトリ名 LPCTSTR lpPrefixString, // ファイル名の接頭辞 UINT uUnique, // 整数 LPTSTR lpTempFileName // ファイル名を格納するバッファ );
- uUniqueに0以外を指定した場合、lpPrefixStringで指定した接頭辞に、uUniqueの16進表記を連結したファイル名が生成される。この場合は、ファイルそのものは作成されない。
- uUniqueに0を指定した場合、lpPrefixStringで指定した接頭辞にシステム時刻に基づいて生成された16進文字列が連結された文字列がファイル名となる。この場合、テンポラリファイルが実際に作成される
使用例
#include <windows.h> int main() { char szTempPath[MAX_PATH]; char szTempFileName[MAX_PATH]; GetTempPath( sizeof(szTempPath)/sizeof(szTempPath[0]), szTempPath); //uUniqueに0を指定した場合(テンポラリファイルが作成されない) GetTempFileName(szTempPath, "Prefix", 0, szTempFileName); puts(szTempFileName); //uUniqueに0以外を指定した場合(テンポラリファイルが作成される) GetTempFileName(szTempPath, "Prefix", 1, szTempFileName); puts(szTempFileName); return 0; }