共用方式為


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 只能以合法檔名呼叫;使用不合法的檔名有未定義的結果。

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

GetFileTitle 會傳回系統用來向使用者顯示檔名的字串。 只有當這是使用者用來顯示檔名的喜好設定時,顯示名稱才會包含擴展名。 這表示傳回的字串在呼叫文件系統函式時,可能無法準確地識別該檔案。

如果 lpszTitle 緩衝區太小,GetFileTitle 會傳回保留顯示名稱所需的大小。 不過,在 lpszFile 緩衝區中所指定的字元之間,不保證必要大小與字元之間沒有保證的關聯性。 例如,請勿呼叫 GetFileTitlelpszTitle 設為 NULL並將 cchSize 設為零,然後嘗試將傳回值當做索引使用到 lpszFile 字串串中。 您通常可以使用 C 運行時間連結庫函式,例如 strrchrwcsrchr_mbsrchr等 C 運行時間連結庫函式來達成類似的結果(和優越的效能)。

注意

commdlg.h 標頭會根據 UNICODE 預處理器常數的定義,將 GetFileTitle 定義為自動選取此函式的 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

參考