15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




GetTempPath

Функция GetTempPath получает путь директории, предназначенной для временных файлов.

DWORD GetTempPath(
  DWORD nBufferLength,
  LPTSTR lpBuffer
);

Параметры

nBufferLength
[на входе] Размер буфера для строки, указанного в lpBuffer, в TCHAR-ах.
lpBuffer
[на выходе] Указатель на буфер, в который будет помещена строка (завершающаяся нулём), содержащая путь временного файла. Строка заканчивается обратным слэшем, например, C:\TEMP\.

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

В случае успеха, возращаемое значение, это длина строки (в TCHAR-ах) скопированной в lpBuffer, исключая последнего нулевого символа. Если возвращённое значение больше чем nBufferLength, то возвращённое значение, это размер необходимого буфера для хранения пути.

В случае ошибки, функция вернёт ноль. Для получения более подробной информации о ошибке, можно воспользоваться GetLastError.

Заметки

Windows 95/98/Me: Функция GetTempPath получает путь временного файла следующим образом:

 

  1. Берётся путь, указанный в переменной окружения TMP.
  2. Если переменная окружения TMP не определена, или указывает на несуществующую директорию, то путь берётся из переменной окружения TEMP.
  3. Если переменные TMP и TEMP не определены или указывают на несуществующие директории, то в качестве пути будет взята текущая директория.

 

Windows NT/2000/XP: Функция GetTempPath не проверяет существование директории, указанной в переменных окружения TMP или TEMP. Получение пути временного файла происходит следующим образом:

 

  1. Берётся путь, указанный в переменной окружения TMP.
  2. Если переменная окружения TMP не определена, то путь берётся из TEMP.
  3. Если не определены ни TMP ни TEMP, то в качестве пути берётся директория Windows.

 

Требования

Windows NT/2000/XP: Присутствует начиная с Windows NT 3.1.
Windows 95/98/Me: Присутствует начиная с Windows 95.
Unicode: Для Windows NT/2000/XP существует как Unicode, так и ANSI версии
Заголовок: Объявлена в Winbase.h; включена в Windows.h.
Библиотека: Kernel32.lib