CPathT 類別
這個類別代表路徑。
重要
這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。
語法
template <typename StringType>
class CPathT
參數
StringType
要用於路徑的 ATL/MFC 字串類別(請參閱 CStringT)。
成員
公用 Typedefs
名稱 | 描述 |
---|---|
CPathT::P CXSTR | 常數位串類型。 |
CPathT::P XSTR | 字串類型。 |
CPathT::XCHAR | 字元類型。 |
公用建構函式
名稱 | 描述 |
---|---|
CPathT::CPathT | 路徑的建構函式。 |
公用方法
名稱 | 描述 |
---|---|
CPathT::AddBackslash | 呼叫這個方法,將反斜杠新增至字串結尾,以建立路徑的正確語法。 |
CPathT::AddExtension | 呼叫這個方法,將擴展名新增至路徑。 |
CPathT::Append | 呼叫這個方法,將字串附加至目前的路徑。 |
CPathT::BuildRoot | 呼叫這個方法,從指定的磁碟驅動器編號建立根路徑。 |
CPathT::Canonicalize | 呼叫這個方法,將路徑轉換成標準格式。 |
CPathT::Combine | 呼叫這個方法,將代表目錄名稱的字串串連,並將代表檔案路徑名稱的字串串連成一個路徑。 |
CPathT::CommonPrefix | 呼叫這個方法,以判斷指定的路徑是否與目前路徑共用通用前置詞。 |
CPathT::CompactPath | 呼叫這個方法,藉由以省略號取代路徑元件,截斷檔案路徑以符合指定的圖元寬度。 |
CPathT::CompactPathEx | 呼叫此方法,藉由以省略號取代路徑元件,截斷檔案路徑以符合指定數目的字元。 |
CPathT::FileExists | 呼叫這個方法,檢查此路徑名稱的檔案是否存在。 |
CPathT::FindExtension | 呼叫這個方法,以尋找路徑中擴展名的位置。 |
CPathT::FindFileName | 呼叫這個方法,以尋找路徑中檔名的位置。 |
CPathT::GetDriveNumber | 呼叫這個方法,以搜尋 『A』 到 『Z』 範圍內的驅動器號路徑,並傳回對應的驅動器號。 |
CPathT::GetExtension | 呼叫這個方法以從路徑取得擴展名。 |
CPathT::IsDirectory | 呼叫此方法來檢查路徑是否為有效的目錄。 |
CPathT::IsFileSpec | 呼叫此方法以搜尋任何路徑分隔字元的路徑(例如 或 : \ )。 如果沒有路徑分隔符存在,路徑會被視為檔案規格路徑。 |
CPathT::IsPrefix | 呼叫這個方法,以判斷路徑是否包含 pszPrefix 所傳遞類型的有效前置詞。 |
CPathT::IsRelative | 呼叫這個方法以判斷路徑是否相對。 |
CPathT::IsRoot | 呼叫此方法以判斷路徑是否為目錄根目錄。 |
CPathT::IsSameRoot | 呼叫這個方法,以判斷另一個路徑是否具有具有目前路徑的通用根元件。 |
CPathT::IsUNC | 呼叫這個方法,以判斷路徑是否為伺服器和共用的有效 UNC(通用命名慣例)路徑。 |
CPathT::IsUNCServer | 呼叫這個方法,以判斷路徑是否為伺服器的有效 UNC(通用命名慣例)路徑。 |
CPathT::IsUNCServerShare | 呼叫此方法以判斷路徑是否為有效的 UNC(通用命名慣例)共享路徑。 \\server\share |
CPathT::MakePretty | 呼叫這個方法,將路徑轉換成所有小寫字元,以提供路徑一致的外觀。 |
CPathT::MatchSpec | 呼叫此方法以搜尋包含通配符比對類型的字串路徑。 |
CPathT::QuoteSpaces | 如果路徑包含任何空格,請呼叫此方法以引弧括住路徑。 |
CPathT::RelativePathTo | 呼叫這個方法,以建立從一個檔案或資料夾到另一個檔案的相對路徑。 |
CPathT::RemoveArgs | 呼叫這個方法,從路徑中移除任何命令行自變數。 |
CPathT::RemoveBackslash | 呼叫這個方法,從路徑中移除尾端反斜杠。 |
CPathT::RemoveBlanks | 呼叫這個方法,從路徑中移除所有前置和尾端空格。 |
CPathT::RemoveExtension | 如果路徑有擴展名,請呼叫這個方法以從路徑中移除擴展名。 |
CPathT::RemoveFileSpec | 呼叫這個方法,以從路徑中移除尾端檔名和反斜杠,如果有的話。 |
CPathT::RenameExtension | 呼叫這個方法,將路徑中的擴展名取代為新的擴展名。 如果檔名不包含擴展名,擴展名將會附加至字串的結尾。 |
CPathT::SkipRoot | 呼叫此方法來剖析路徑,忽略驅動器號或 UNC 伺服器/共用路徑元件。 |
CPathT::StripPath | 呼叫此方法可移除完整路徑和檔名的路徑部分。 |
CPathT::StripToRoot | 呼叫此方法可移除路徑的所有部分,但根資訊除外。 |
CPathT::UnquoteSpaces | 呼叫這個方法,從路徑的開頭和結尾移除引號。 |
公用運算子
名稱 | 描述 |
---|---|
CPathT::operator const StringType & | 這個運算符可讓 對象被視為字串。 |
CPathT::operator CPathT::P CXSTR | 這個運算符可讓 對象被視為字串。 |
CPathT::operator StringType & | 這個運算符可讓 對象被視為字串。 |
CPathT::operator += | 這個運算符會將字串附加至路徑。 |
公用資料成員
名稱 | 描述 |
---|---|
CPathT::m_strPath | 路徑。 |
備註
CPath
、 CPathA
和 CPathW
是定義的具現化 CPathT
,如下所示:
typedef CPathT< CString > CPath;
typedef CPathT< CStringA > CPathA;
typedef CPathT< CStringW > CPathW;
需求
標頭: atlpath.h
CPathT::AddBackslash
呼叫這個方法,將反斜杠新增至字串結尾,以建立路徑的正確語法。 如果路徑已經有尾端反斜杠,則不會新增反斜杠。
void AddBackslash();
備註
如需詳細資訊,請參閱 PathAddBackSlash。
CPathT::AddExtension
呼叫這個方法,將擴展名新增至路徑。
BOOL AddExtension(PCXSTR pszExtension);
參數
pszExtension
要加入的擴展名。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathAddExtension。
CPathT::Append
呼叫這個方法,將字串附加至目前的路徑。
BOOL Append(PCXSTR pszMore);
參數
pszMore
要附加的字串。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathAppend。
CPathT::BuildRoot
呼叫這個方法,從指定的磁碟驅動器編號建立根路徑。
void BuildRoot(int iDrive);
參數
iDrive
磁碟驅動器編號 (0 為 A:
、1 為 B:
等等)。
備註
如需詳細資訊,請參閱 PathBuildRoot。
CPathT::Canonicalize
呼叫這個方法,將路徑轉換成標準格式。
void Canonicalize();
備註
如需詳細資訊,請參閱 PathCanonicalize。
CPathT::Combine
呼叫這個方法,將代表目錄名稱的字串串連,並將代表檔案路徑名稱的字串串連成一個路徑。
void Combine(PCXSTR pszDir, PCXSTR pszFile);
參數
pszDir
目錄路徑。
pszFile
檔案路徑。
備註
如需詳細資訊,請參閱 PathCombine。
CPathT::CommonPrefix
呼叫這個方法,以判斷指定的路徑是否與目前路徑共用通用前置詞。
CPathT<StringType> CommonPrefix(PCXSTR pszOther);
參數
pszOther
要與目前路徑比較的路徑。
傳回值
傳回一般前置詞。
備註
前置詞是下列其中一種類型:“C:\\”、“.”、“.”、“.”。\\". 如需詳細資訊,請參閱 PathCommonPrefix。
CPathT::CompactPath
呼叫這個方法,藉由以省略號取代路徑元件,截斷檔案路徑以符合指定的圖元寬度。
BOOL CompactPath(HDC hDC, UINT nWidth);
參數
hDC
用於字型計量的裝置內容。
nWidth
寬度,以像素為單位,字串會強制放入。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathCompactPath。
CPathT::CompactPathEx
呼叫此方法,藉由以省略號取代路徑元件,截斷檔案路徑以符合指定數目的字元。
BOOL CompactPathEx(UINT nMaxChars, DWORD dwFlags = 0);
參數
nMaxChars
要包含在新字串中的字元數上限,包括終止的NULL字元。
dwFlags
已保留。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathCompactPathEx。
CPathT::CPathT
建構函式。
CPathT(PCXSTR pszPath);
CPathT(const CPathT<StringType>& path);
CPathT() throw();
參數
pszPath
路徑字串的指標。
path
路徑字串。
CPathT::FileExists
呼叫這個方法,檢查此路徑名稱的檔案是否存在。
BOOL FileExists() const;
傳回值
如果檔案存在,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathFileExists。
CPathT::FindExtension
呼叫這個方法,以尋找路徑中擴展名的位置。
int FindExtension() const;
傳回值
傳回延伸模組前面的 “ .” 如果找不到擴充功能,則傳回 -1。
備註
如需詳細資訊,請參閱 PathFindExtension。
CPathT::FindFileName
呼叫這個方法,以尋找路徑中檔名的位置。
int FindFileName() const;
傳回值
傳回檔名的位置。 如果找不到檔名,則會傳回 -1。
備註
如需詳細資訊,請參閱 PathFindFileName。
CPathT::GetDriveNumber
呼叫這個方法,以搜尋 『A』 到 『Z』 範圍內的驅動器號路徑,並傳回對應的驅動器號。
int GetDriveNumber() const;
傳回值
如果路徑具有驅動器號或 -1,則傳回 0 到 25 的整數(對應至 'A' 到 'Z')。
備註
如需詳細資訊,請參閱 PathGetDriveNumber。
CPathT::GetExtension
呼叫這個方法以從路徑取得擴展名。
StringType GetExtension() const;
傳回值
傳回擴展名。
CPathT::IsDirectory
呼叫此方法來檢查路徑是否為有效的目錄。
BOOL IsDirectory() const;
傳回值
如果路徑是目錄,則傳回非零值 (16),否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsDirectory。
CPathT::IsFileSpec
呼叫此方法以搜尋任何路徑分隔字元的路徑(例如 或 :
\
)。 如果沒有路徑分隔符存在,路徑會被視為檔案規格路徑。
BOOL IsFileSpec() const;
傳回值
如果路徑內沒有路徑分隔字元,則傳回 TRUE;如果路徑中有分隔字元,則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsFileSpec。
CPathT::IsPrefix
呼叫這個方法,以判斷路徑是否包含 pszPrefix 所傳遞類型的有效前置詞。
BOOL IsPrefix(PCXSTR pszPrefix) const;
參數
pszPrefix
要搜尋的前置詞。 前置詞是下列其中一種類型:“C:\\”、“.”、“.”、“.”。\\".
傳回值
如果路徑包含前置詞,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsPrefix。
CPathT::IsRelative
呼叫這個方法以判斷路徑是否相對。
BOOL IsRelative() const;
傳回值
如果路徑是相對路徑,則傳回 TRUE,如果路徑為絕對值,則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsRelative。
CPathT::IsRoot
呼叫此方法以判斷路徑是否為目錄根目錄。
BOOL IsRoot() const;
傳回值
如果路徑為根目錄,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsRoot。
CPathT::IsSameRoot
呼叫這個方法,以判斷另一個路徑是否具有具有目前路徑的通用根元件。
BOOL IsSameRoot(PCXSTR pszOther) const;
參數
pszOther
另一個路徑。
傳回值
如果兩個字串具有相同的根元件,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsSameRoot。
CPathT::IsUNC
呼叫這個方法,以判斷路徑是否為伺服器和共用的有效 UNC(通用命名慣例)路徑。
BOOL IsUNC() const;
傳回值
如果路徑為有效的 UNC 路徑,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsUNC。
CPathT::IsUNCServer
呼叫這個方法,以判斷路徑是否為伺服器的有效 UNC(通用命名慣例)路徑。
BOOL IsUNCServer() const;
傳回值
如果字串是伺服器的有效 UNC 路徑,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsUNCServer。
CPathT::IsUNCServerShare
呼叫這個方法,判斷路徑是否為有效的 UNC(通用命名慣例)共用路徑 \\ 伺服器\ 共用。
BOOL IsUNCServerShare() const;
傳回值
如果路徑的格式為 \\ 伺服器\ 共用,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathIsUNCServerShare。
CPathT::m_strPath
路徑。
StringType m_strPath;
備註
StringType
是的 CPathT
樣板參數。
CPathT::MakePretty
呼叫這個方法,將路徑轉換成所有小寫字元,以提供路徑一致的外觀。
BOOL MakePretty();
傳回值
如果路徑已轉換,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathMakePretty。
CPathT::MatchSpec
呼叫此方法以搜尋包含通配符比對類型的字串路徑。
BOOL MatchSpec(PCXSTR pszSpec) const;
參數
pszSpec
具有要搜尋之文件類型之 Null 終止字串的指標。 例如,若要測試目前路徑上的檔案是否為 DOC 檔案, pszSpec 應該設定為 “*.doc”。
傳回值
如果字串符合,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathMatchSpec。
CPathT::operator +=
這個運算符會將字串附加至路徑。
CPathT<StringType>& operator+=(PCXSTR pszMore);
參數
pszMore
要附加的字串。
傳回值
傳回更新的路徑。
CPathT::operator const StringType &
這個運算符可讓 對象被視為字串。
operator const StringType&() const throw();
傳回值
傳回字串,表示這個物件所管理目前的路徑。
CPathT::operator CPathT::P CXSTR
這個運算符可讓 對象被視為字串。
operator PCXSTR() const throw();
傳回值
傳回字串,表示這個物件所管理目前的路徑。
CPathT::operator StringType &
這個運算符可讓 對象被視為字串。
operator StringType&() throw();
傳回值
傳回字串,表示這個物件所管理目前的路徑。
CPathT::P CXSTR
常數位串類型。
typedef StringType::PCXSTR PCXSTR;
備註
StringType
是的 CPathT
樣板參數。
CPathT::P XSTR
字串類型。
typedef StringType::PXSTR PXSTR;
備註
StringType
是的 CPathT
樣板參數。
CPathT::QuoteSpaces
如果路徑包含任何空格,請呼叫此方法以引弧括住路徑。
void QuoteSpaces();
備註
如需詳細資訊,請參閱 PathQuoteSpaces。
CPathT::RelativePathTo
呼叫這個方法,以建立從一個檔案或資料夾到另一個檔案的相對路徑。
BOOL RelativePathTo(
PCXSTR pszFrom,
DWORD dwAttrFrom,
PCXSTR pszTo,
DWORD dwAttrTo);
參數
pszFrom
相對路徑的開頭。
dwAttrFrom
pszFrom 的 File 屬性。 如果此值包含FILE_ATTRIBUTE_DIRECTORY,則會假設 pszFrom 是目錄;否則,pszFrom 會假設為檔案。
pszTo
相對路徑的結束點。
dwAttrTo
pszTo 的 File 屬性。 如果此值包含FILE_ATTRIBUTE_DIRECTORY, 則會假設 pszTo 是目錄, 否則會將 pszTo 假設為檔案。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathRelativePathTo。
CPathT::RemoveArgs
呼叫這個方法,從路徑中移除任何命令行自變數。
void RemoveArgs();
備註
如需詳細資訊,請參閱 PathRemoveArgs。
CPathT::RemoveBackslash
呼叫這個方法,從路徑中移除尾端反斜杠。
void RemoveBackslash();
備註
如需詳細資訊,請參閱 PathRemoveBackslash。
CPathT::RemoveBlanks
呼叫這個方法,從路徑中移除所有前置和尾端空格。
void RemoveBlanks();
備註
如需詳細資訊,請參閱 PathRemoveBlanks。
CPathT::RemoveExtension
如果路徑有擴展名,請呼叫這個方法以從路徑中移除擴展名。
void RemoveExtension();
備註
如需詳細資訊,請參閱 PathRemoveExtension。
CPathT::RemoveFileSpec
呼叫這個方法,以從路徑中移除尾端檔名和反斜杠,如果有的話。
BOOL RemoveFileSpec();
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathRemoveFileSpec。
CPathT::RenameExtension
呼叫這個方法,將路徑中的擴展名取代為新的擴展名。 如果檔名不包含擴展名,擴展名將會附加至路徑的結尾。
BOOL RenameExtension(PCXSTR pszExtension);
參數
pszExtension
新的擴展名,前面加上 “.” 字元。
傳回值
在成功時傳回 TRUE,失敗時傳回 FALSE。
備註
如需詳細資訊,請參閱 PathRenameExtension。
CPathT::SkipRoot
呼叫此方法來剖析路徑,忽略驅動器號或 UNC(通用命名慣例)伺服器/共用路徑元件。
int SkipRoot() const;
傳回值
傳回跟在根目錄的子路徑開頭位置(驅動器號或 UNC 伺服器/共用)。
備註
如需詳細資訊,請參閱 PathSkipRoot。
CPathT::StripPath
呼叫此方法可移除完整路徑和檔名的路徑部分。
void StripPath();
備註
如需詳細資訊,請參閱 PathStripPath。
CPathT::StripToRoot
呼叫此方法可移除路徑的所有部分,但根資訊除外。
BOOL StripToRoot();
傳回值
如果路徑中找到有效的驅動器號,則傳回 TRUE,否則傳回 FALSE。
備註
如需詳細資訊,請參閱 PathStripToRoot。
CPathT::UnquoteSpaces
呼叫這個方法,從路徑的開頭和結尾移除引號。
void UnquoteSpaces();
備註
如需詳細資訊,請參閱 PathUnquoteSpaces。
CPathT::XCHAR
字元類型。
typedef StringType::XCHAR XCHAR;
備註
StringType
是的 CPathT
樣板參數。