MkTemp
Функция
FSF.MkTemp
создаёт имя временного файла на основе шаблона.
size_t WINAPI MkTemp( wchar_t *Dest, size_t DestSize, const wchar_t *Prefix );
Параметры
Dest
Указатель на буфер, который получит полное имя временного файла в верхнем регистре. Установите
Dest = NULL
для того, чтобы узнать необходмый размер буфера.DestSize
Максимальное количество символов, которое можно поместить в
Dest
, с заключительным нулём.Prefix
Указывает на оканчивающуюся нулём строку-префикс. Максимум первые четыре символа из этой строки будут использованы в качестве
префикса имени файла. Far Manager дополнит символами
Если
'0'
префикс, если размер Prefix
меньше 4
.Если
Prefix = NULL
или пустой строке, то будет применён стандартный префикс "FTMP"
Возвращаемое значение
Функция возвращает необходимый размер буфера
Dest
в символах.
Примечание
- Имя временного файла формируется объединением пути к временному каталогу (получаемого через вызов функции GetTempPath
), переданного префикса, набора случайных шестнадцатеричных цифр. Формат: PrefXXXP.PTT
здесь
Pref - 4-х символьный префикс;
XXX - три 16-ричных цифры;
PP - две 16-ричных цифры PID (результат функции GetCurrentProcessId);
TT - две 16-ричных цифры TID (результат функции GetCurrentThreadId).
- Функция, физически не создаёт файл на диске, только формирует имя.
Пример
wchar_t TempName[MAX_PATH]; FSF.MkTemp(TempName,MAX_PATH,NULL); -> "FTMP000D.P50" FSF.MkTemp(TempName,MAX_PATH,L""); -> "FTMP000D.P50" FSF.MkTemp(TempName,MAX_PATH,L"MY"); -> "MY00000D.P50" FSF.MkTemp(TempName,MAX_PATH,L"BaR"); -> "BAR0000D.P50" FSF.MkTemp(TempName,MAX_PATH,L"TstPlugin"); -> "TSTP000D.P50"
Смотрите также: