Поделиться через


Класс CPathT

Этот класс представляет путь.

Важно!

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.

Синтаксис

template <typename StringType>
class CPathT

Параметры

StringType
Строковый класс ATL/MFC, используемый для пути (см. раздел CStringT).

Участники

Общедоступные определения типов

Имя Описание
CPathT::P CXSTR Тип строки константы.
CPathT::P XSTR Тип string.
CPathT::XCHAR Тип символа.

Открытые конструкторы

Имя Описание
CPathT::CPathT Конструктор пути.

Открытые методы

Имя Описание
CPathT::AddBackslash Вызовите этот метод, чтобы добавить обратную косую черту в конец строки, чтобы создать правильный синтаксис для пути.
CPathT::AddExtension Вызовите этот метод, чтобы добавить расширение файла в путь.
CPathT::Append Вызовите этот метод, чтобы добавить строку к текущему пути.
CPathT::BuildRoot Вызовите этот метод, чтобы создать корневой путь из заданного номера диска.
CPathT::Канонизация Вызовите этот метод, чтобы преобразовать путь в каноническую форму.
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;

Requirements

Заголовок: 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::Канонизация

Вызовите этот метод, чтобы преобразовать путь в каноническую форму.

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;

Возвращаемое значение

Возвращает число диска в виде целого числа от 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;

Возвращаемое значение

Возвращает значение TRUE, если путь является допустимым UNC-путем или false в противном случае.

Замечания

Дополнительные сведения см. в разделе PathIsUNC.

CPathT::IsUNCServer

Вызовите этот метод, чтобы определить, является ли путь допустимым UNC (соглашение об универсальном именовании) только для сервера.

BOOL IsUNCServer() const;

Возвращаемое значение

Возвращает значение TRUE, если строка является допустимым UNC-путем только для сервера (без имени общей папки) или FALSE в противном случае.

Замечания

Дополнительные сведения см. в разделе PathIsUNCServer.

CPathT::IsUNCServerShare

Вызовите этот метод, чтобы определить, является ли путь допустимым UNC (соглашение об универсальном именовании) путь к общей папке \\ server\ .

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

Тип string.

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шаблона .

См. также

Классы
Класс CStringT