GetTempPath

The GetTempPath function retrieves the path of the directory designated for temporary files.

DWORD GetTempPath(
  DWORD nBufferLength,  // size, in characters, of the buffer
  LPTSTR lpBuffer       // pointer to buffer for temp. path
);
 

Parameters

nBufferLength
Specifies the size, in characters, of the string buffer identified by lpBuffer.
lpBuffer
Pointer to a string buffer that receives the null-terminated string specifying the temporary file path. The returned string ends with a backslash, for example, C:\TEMP\.

Return Values

If the function succeeds, the return value is the length, in characters, of the string copied to lpBuffer, not including the terminating null character. If the return value is greater than nBufferLength, the return value is the size of the buffer required to hold the path.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Windows 95 and Windows 98: The GetTempPath function gets the temporary file path as follows:

  1. The path specified by the TMP environment variable.
  2. The path specified by the TEMP environment variable, if TMP is not defined or if TMP specifies a directory that does not exist.
  3. The current directory, if both TMP and TEMP are not defined or specify nonexistent directories.

Windows NT: The GetTempPath function does not verify that the directory specified by the TMP or TEMP environment variables exists. The function gets the temporary file path as follows:

  1. The path specified by the TMP environment variable.
  2. The path specified by the TEMP environment variable, if TMP is not defined.
  3. The Windows directory, if both TMP and TEMP are not defined.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

File I/O Overview, File Functions, GetTempFileName