Поделиться через


Функция GetTempPathA (fileapi.h)

Извлекает путь к каталогу, указанному для временных файлов.

Синтаксис

DWORD GetTempPathA(
  [in]  DWORD nBufferLength,
  [out] LPSTR lpBuffer
);

Параметры

[in] nBufferLength

Размер буфера строки, определяемого lpBuffer, в TCHARs.

[out] lpBuffer

Указатель на строковый буфер, получающий строку, завершающую значение NULL, указав временный путь к файлу. Возвращаемая строка заканчивается обратной косой чертой, например "C:\TEMP\".

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение имеет длину в TCHARs, строки, скопированной в lpBuffer, не включая завершающий символ NULL. Если возвращаемое значение больше nBufferLength, возвращаемое значение равно длине, TCHARs, буфера, необходимого для хранения пути.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Максимально возможное возвращаемое значение равно MAX_PATH+1 (261).

Замечания

Заметка

Приложения должны вызывать GetTempPath2 вместо GetTempPath.

Функция GetTempPath проверяет наличие переменных среды в следующем порядке и использует первый путь:

  1. Путь, указанный переменной среды TMP.
  2. Путь, указанный переменной среды TEMP.
  3. Путь, указанный переменной среды USERPROFILE.
  4. Каталог Windows.
Обратите внимание, что функция не проверяет, существует ли путь, и не проверяет, имеет ли текущий процесс какие-либо права доступа к пути. Функция GetTempPath возвращает правильно отформатированную строку, указывающую полный путь на основе порядка поиска переменной среды, как указано ранее. Приложение должно проверить наличие пути и надлежащих прав доступа к пути до любого использования операций ввода-вывода файлов.

Поведение символьной ссылки— если путь указывает на символьную ссылку, имя временного пути сохраняет любые символьные ссылки.

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технологии Поддержанный
Протокол SMB 3.0 Да
Отработка отказа SMB 3.0 (TFO) Да
SMB 3.0 с масштабируемыми общими папками (SO) Да
Файловая система общего тома кластера (CSVFS) Да
Отказоустойчивая файловая система (ReFS) Да
 

Примеры

Пример см. в статье Создание и использование временного файла.

Заметка

Заголовок fileapi.h определяет GetTempPath как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка fileapi.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

функции управления файлами

GetTempFileName

символьные ссылки