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 緩衝區中所指定的字元之間,不保證必要大小與字元之間沒有保證的關聯性。 例如,請勿呼叫 GetFileTitle,lpszTitle 設為 NULL,並將 cchSize 設為零,然後嘗試將傳回值當做索引使用到 lpszFile 字串串中。 您通常可以使用 C 運行時間連結庫函式,例如 strrchr、wcsrchr和 _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 中引進) |
另請參閱
概念
參考