CPathT 类
此类表示路径。
重要
无法在 Windows 运行时中执行的应用程序中使用此类及其成员。
语法
template <typename StringType>
class CPathT
参数
StringType
用于路径的 ATL/MFC 字符串类(请参阅 CStringT)。
成员
公共 Typedef
名称 | 描述 |
---|---|
CPathT::PCXSTR | 常量字符串类型。 |
CPathT::PXSTR | 一种字符串类型。 |
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::PCXSTR | 使用此运算符可将对象视为字符串。 |
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
指向路径字符串的指针。
路径
路径字符串。
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::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(通用命名约定)共享路径 \\server\ share。
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;
参数
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::PCXSTR
使用此运算符可将对象视为字符串。
operator PCXSTR() const throw();
返回值
返回表示此对象管理的当前路径的字符串。
CPathT::operator StringType &
使用此运算符可将对象视为字符串。
operator StringType&() throw();
返回值
返回表示此对象管理的当前路径的字符串。
CPathT::PCXSTR
常量字符串类型。
typedef StringType::PCXSTR PCXSTR;
备注
StringType
是 CPathT
的模板参数。
CPathT::PXSTR
一种字符串类型。
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_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);
参数
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
的模板参数。