共用方式為


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 路徑。

備註

CPathCPathACPathW 是定義的具現化 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
pszFromFile 屬性。 如果此值包含FILE_ATTRIBUTE_DIRECTORY,則會假設 pszFrom 是目錄;否則,pszFrom 會假設為檔案。

pszTo
相對路徑的結束點。

dwAttrTo
pszToFile 屬性。 如果此值包含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樣板參數。

另請參閱

類別
CStringT 類別