Функция GetTempPathA (fileapi.h)
Извлекает путь к каталогу, назначенному для временных файлов.
Синтаксис
DWORD GetTempPathA(
[in] DWORD nBufferLength,
[out] LPSTR lpBuffer
);
Параметры
[in] nBufferLength
Размер строкового буфера, определяемого lpBuffer, в TCHARs.
[out] lpBuffer
Указатель на буфер строк, который получает строку, завершающуюся null, задающую путь к временному файлу. Возвращаемая строка заканчивается обратной косой чертой, например C:\TEMP\.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение — это длина строки, скопированной в lpBuffer, в TCHARs, не включая завершающий символ NULL. Если возвращаемое значение больше nBufferLength, возвращаемое значение — это длина буфера, необходимого для хранения пути в TCHARs.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Максимально возможное возвращаемое значение — MAX_PATH+1 (261).
Комментарии
Примечание
Приложения должны вызывать GetTempPath2 вместо GetTempPath.
Функция GetTempPath проверяет наличие переменных среды в следующем порядке и использует первый найденный путь:
- Путь, заданный переменной среды TMP.
- Путь, заданный переменной среды TEMP.
- Путь, заданный переменной среды USERPROFILE.
- Каталог Windows.
Поведение символьной ссылки. Если путь указывает на символьную ссылку, имя временного пути сохраняет все символические ссылки.
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
Прозрачная отработка отказа (TFO) SMB 3.0 | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
Примеры
Пример см. в статье Создание и использование временного файла.
Примечание
Заголовок fileapi.h определяет GetTempPath как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | fileapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |