getTempPathA 函数 (fileapi.h)
检索为临时文件指定的目录的路径。
语法
DWORD GetTempPathA(
[in] DWORD nBufferLength,
[out] LPSTR lpBuffer
);
参数
[in] nBufferLength
lpBuffer 标识的字符串缓冲区的大小(以 TCHAR 为单位)。
[out] lpBuffer
指向字符串缓冲区的指针,该缓冲区接收指定临时文件路径的以 null 结尾的字符串。 返回的字符串以反斜杠结尾,例如“C:\TEMP\”。
返回值
如果函数成功,则返回值为复制到 lpBuffer 的字符串的长度(以 TCHAR 为单位),不包括终止 null 字符。 如果返回值大于 nBufferLength,则返回值是保存路径所需的缓冲区的长度( 以 TCHAR 为单位)。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
可能的最大返回值为 MAX_PATH+1 (261) 。
备注
注意
应用应调用 GetTempPath2 而不是 GetTempPath。
GetTempPath 函数按以下顺序检查是否存在环境变量,并使用找到的第一个路径:
- TMP 环境变量指定的路径。
- TEMP 环境变量指定的路径。
- USERPROFILE 环境变量指定的路径。
- Windows 目录。
符号链接行为 - 如果路径指向符号链接,则临时路径名称将保留任何符号链接。
在 Windows 8 和 Windows Server 2012 中,此函数由以下技术支持。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 是 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 是 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
示例
有关示例,请参阅 创建和使用临时文件。
注意
fileapi.h 标头将 GetTempPath 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | fileapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |