GetFileTitleA 函数 (commdlg.h)

检索指定文件的名称。

语法

short GetFileTitleA(
  [in]  LPCSTR unnamedParam1,
  [out] LPSTR  Buf,
  [in]  WORD   cchSize
);

参数

[in] unnamedParam1

类型:LPCTSTR

文件的名称和位置。

[out] Buf

类型:LPTSTR

接收文件名称的缓冲区。

[in] cchSize

类型:WORD

lpszTitle 参数指向的缓冲区的长度(以字符为单位)。

返回值

类型:

如果函数成功,则返回值为零。

如果文件名无效,则返回值未知。 如果出现错误,则返回值为负数。

如果 lpszTitle 参数指向的缓冲区太小,则返回值为一个正整数,指定所需的缓冲区大小(以字符为单位)。 所需的缓冲区大小包括终止 null 字符。

言论

GetFileTitle 只能用合法文件名调用;使用非法文件名的结果未定义。

若要获取文件名称所需的缓冲区大小,请调用设置为 NULL 的 lpszTitle 函数,并将 cchSize 设置为零 cchSize。 该函数返回所需的大小。

GetFileTitle 返回系统用于向用户显示文件名的字符串。 仅当显示名称是用户用于显示文件名的首选项时,显示名称才包含扩展名。 这意味着,如果返回的字符串在对文件系统函数的调用中使用,则可能无法准确识别该文件。

如果 lpszTitle 缓冲区太小,GetFileTitle 返回保存显示名称所需的大小。 但是,在 lpszFile 缓冲区中指定的字符之间没有保证的大小和字符之间的关系。 例如,不要将 GetFileTitle 调用设置为 lpszTitle 设置为 NULL,并将 cchSize 设置为零,然后尝试将返回值用作 lpszFile 字符串中的索引。 通常,可以使用 C 运行时库函数(如 strrchrwcsrchr_mbsrchr)实现类似的结果(和卓越的性能)。

注意

commdlg.h 标头将 GetFileTitle 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 commdlg.h (包括 Windows.h)
Comdlg32.lib
DLL Comdlg32.dll
API 集 ext-ms-win-shell-comdlg32-l1-1-1(在 Windows 10 版本 10.0.14393 中引入)

另请参阅

通用对话框库

概念

GetOpenFileName

GetSaveFileName

参考