GetFileTitleA 函数 (commdlg.h)

检索指定文件的名称。

语法

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

参数

[in] unnamedParam1

类型: LPCTSTR

文件的名称和位置。

[out] Buf

类型: LPTSTR

接收文件名称的缓冲区。

[in] cchSize

类型: WORD

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

返回值

类型: short

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

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

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

注解

仅应使用法定文件名调用 GetFileTitle;使用非法文件名的结果未定义。

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

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

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

注意

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

要求

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

另请参阅

通用对话框库

概念性

GetOpenFileName

GetSaveFileName

引用