Функция GetTempFileName создает имя для временного файла. Если генерируется уникальное имя файла, создается пустой файл и его дескриптор освобождается; иначе, генерируется только имя файла.
UINT GetTempFileName (
LPCTSTR lpPathName,
LPCTSTR lpPrefixString ,
UINT uUnique ,
LPTSTR lpTempFileName
);
Параметры:
Адрес нульзаканчивающейся строки, которая задает путь к директории для файла. Приложение, обычно, указывает точку (.) для текущей директории или результат функции GetTempPath. Строка не может быть большей, чем MAX_PATH-14 символов. Если этот параметр равен NULL, то функция возвратится с ошибкой. | |
Адрес нульзаканчивающейся строки префикса. Функция использует первые три символа этой строки как префикс к имени файла. | |
Беззнаковое целое, используемое в создании имени временного файла. Если этот параметр равен нулю, функция пытается сформировать уникальное имя файла, используя текущее системное время. Если файл уже существует, число увеличивается на одиницу, и функция снова проверяет существование файла с таким именем. Это продолжается до тех пор, пока не будет найдено уникальное имя файла; функция создает файл и закрывает его. Учтите, что функция не пытается проверить уникальность имени файла, если uUnique не нулевой. | |
Адрес буфера, который получает имя временного файла и путь к нему. Этот буфер не может превышать MAX_PATH символов. |
Возвращаемые значения:
Если функция удачна, возвращаемое значение определяет уникальное числовое значение, использованное в имени временнего файла.
При ошибке возвращается ноль. Для получения дополнительной информации об ошибке, вызывайте GetLastError.
Замечания:
Функция GetTempFileName создает имя временнго файла в следующей форме:
\
.TMP Следующая таблица объясняет синтаксис имени временного файла:
Компонент:
Описание:
Путь, указанный в параметре lpPathName
Первые три буквы строки lpPrefixString Шестнадцатиричное значение uUnique Если uUnique равен нулю, GetTempFileName создает пустой файл и закрывает его. Если uUnique не равен нулю, вы должны сами создать файл. Создается только имя файла, потому что GetTempFileName не гарантирует уникальность файлового имени.Когда система завершает свою работу, временные файлы, созданные по имени этой функцией, не удаляются автоматически.Смотрите также: