CPathT 类

此类表示路径。

重要

无法在 Windows 运行时中执行的应用程序中使用此类及其成员。

语法

template <typename StringType>
class CPathT

parameters

StringType
要用于路径的 ATL/MFC 字符串类 (CStringT) 。

成员

公共 Typedef

名称 说明
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、和 CPathW 是定义的 CPathT 实例化, CPathA 如下所示:

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);

parameters

pszExtension
要添加的文件扩展名。

返回值

如果成功,则返回 TRUE,否则返回 FALSE。

备注

有关详细信息,请参阅 PathAddExtension

CPathT:: Append

调用此方法可将字符串追加到当前路径。

BOOL Append(PCXSTR pszMore);

parameters

pszMore
要追加的字符串。

返回值

如果成功,则返回 TRUE,否则返回 FALSE。

备注

有关详细信息,请参阅 PathAppend

CPathT:: BuildRoot

调用此方法可从给定的驱动器号创建根路径。

void BuildRoot(int iDrive);

parameters

iDrive
驱动器号 (0 为 A: ,1为 B: ,依此类推) 。

备注

有关详细信息,请参阅 PathBuildRoot

CPathT::规范化

调用此方法可将路径转换为规范格式。

void Canonicalize();

备注

有关详细信息,请参阅 PathCanonicalize

CPathT::合并

调用此方法可将表示目录名称的字符串和表示文件路径名称的字符串串联到一个路径中。

void Combine(PCXSTR pszDir, PCXSTR  pszFile);

parameters

pszDir
目录路径。

pszFile
文件路径。

备注

有关详细信息,请参阅 PathCombine

CPathT::CommonPrefix

调用此方法可确定指定的路径是否与当前路径共享公共前缀。

CPathT<StringType> CommonPrefix(PCXSTR pszOther);

parameters

pszOther
要与当前的路径进行比较的路径。

返回值

返回公共前缀。

备注

前缀为以下类型之一: "C:\\"、"."、".."、".."。\\". 有关详细信息,请参阅 PathCommonPrefix

CPathT::CompactPath

调用此方法可通过将路径组件替换为省略号,截断文件路径以适应给定的像素宽度。

BOOL CompactPath(HDC hDC, UINT nWidth);

parameters

hDC
用于字体指标的设备上下文。

nWidth
强制字符串适合的宽度(以像素为单位)。

返回值

如果成功,则返回 TRUE,否则返回 FALSE。

备注

有关详细信息,请参阅 PathCompactPath

CPathT::CompactPathEx

调用此方法可通过将路径组件替换为省略号来截断文件路径,使其适合给定的字符数。

BOOL CompactPathEx(UINT nMaxChars, DWORD dwFlags = 0);

parameters

nMaxChars
要包含在新字符串中的最大字符数,包括终止 NULL 字符。

dwFlags
保留。

返回值

如果成功,则返回 TRUE,否则返回 FALSE。

备注

有关详细信息,请参阅 PathCompactPathEx

CPathT::CPathT

构造函数。

CPathT(PCXSTR pszPath);
CPathT(const CPathT<StringType>& path);
CPathT() throw();

parameters

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;

返回值

如果路径包含驱动器号,则返回驱动器号(从0到 25 (对应于 "A" 到 "Z" ) ); 否则返回-1。

备注

有关详细信息,请参阅 PathGetDriveNumber

CPathT:: Path.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;

parameters

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;

parameters

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;

返回值

如果路径格式为 \\ server\ share,则返回 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;

parameters

pszSpec
指向具有要搜索的文件类型的以 null 结尾的字符串的指针。 例如,若要测试当前路径中的文件是否是 DOC 文件, pszSpec 应设置为"*.doc"。

返回值

如果字符串匹配,则返回 TRUE;否则返回 FALSE。

备注

有关详细信息,请参阅 PathMatchSpec

CPathT::operator +=

此运算符将字符串追加到路径。

CPathT<StringType>& operator+=(PCXSTR pszMore);

parameters

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);

parameters

pszFrom
相对路径的起始位置。

dwAttrFrom
pszFrom 的文件属性。 如果此值包含FILE_ATTRIBUTE_DIRECTORY, 则假定 pszFrom 为目录;否则, 假定 pszFrom 为文件。

pszTo
相对路径的终点。

dwAttrTo
pszTo 的文件属性。 如果此值包含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);

parameters

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 类