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

如果此函式成功,則傳回值為零。

如果檔名無效,則傳回值未知。 如果發生錯誤,則傳回值為負數。

如果 lpszTitle 參數所指向的緩衝區太小,則傳回值為正整數,以字元為單位指定所需的緩衝區大小。 必要的緩衝區大小包含終止的 Null 字元。

備註

GetFileTitle 應該只以合法檔名呼叫;使用不合法的檔名有未定義的結果。

若要取得檔名所需的緩衝區大小,請呼叫 lpszTitle 設為 NULL 的函式, 並將 cchSize 設定為零。 函式會傳回所需的大小。

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)
程式庫 Comdlg32.lib
Dll Comdlg32.dll
API 集合 ext-ms-win-shell-comdlg32-l1-1-1 (Windows 10 10.0.14393 版)

另請參閱

通用對話框連結庫

概念

GetOpenFileName

GetSaveFileName

參考