本文整理汇总了C++中StringW::EndsWith方法的典型用法代码示例。如果您正苦于以下问题:C++ StringW::EndsWith方法的具体用法?C++ StringW::EndsWith怎么用?C++ StringW::EndsWith使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringW
的用法示例。
在下文中一共展示了StringW::EndsWith方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: retval
/*
* vislib::sys::Path::Concatenate
*/
vislib::StringW vislib::sys::Path::Concatenate(const StringW& lhs,
const StringW& rhs, const bool canonicalise) {
StringW retval(lhs);
if (lhs.EndsWith(SEPARATOR_W) && rhs.StartsWith(SEPARATOR_W)) {
retval.Append(rhs.PeekBuffer() + 1);
} else if (!lhs.EndsWith(SEPARATOR_W) && !rhs.StartsWith(SEPARATOR_W)) {
retval.Append(SEPARATOR_W);
retval.Append(rhs);
} else {
retval.Append(rhs);
}
return canonicalise ? Path::Canonicalise(retval) : retval;
}
示例2: SystemException
/*
* vislib::sys::Path::GetUserHomeDirectoryW
*/
vislib::StringW vislib::sys::Path::GetUserHomeDirectoryW(void) {
#ifdef _WIN32
StringW retval;
if (FAILED(::SHGetFolderPathW(NULL, CSIDL_PERSONAL, NULL, 0,
retval.AllocateBuffer(MAX_PATH)))) {
throw SystemException(ERROR_NOT_FOUND, __FILE__, __LINE__);
}
if (!retval.EndsWith(SEPARATOR_W)) {
retval += SEPARATOR_W;
}
return retval;
#else /* _WIN32 */
return StringW(GetUserHomeDirectoryA());
#endif /* _WIN32 */
}
示例3: iter
/*
* vislib::sys::Path::PurgeDirectory
*/
void vislib::sys::Path::PurgeDirectory(const StringW& path, bool recursive) {
StringW fullpath = Resolve(path);
if (!fullpath.EndsWith(SEPARATOR_W)) fullpath += SEPARATOR_W;
DirectoryIteratorW iter(fullpath);
while (iter.HasNext()) {
DirectoryEntryW entry = iter.Next();
if (entry.Type == DirectoryEntryW::FILE) {
vislib::sys::File::Delete(fullpath + entry.Path);
} else
if (entry.Type == DirectoryEntryW::DIRECTORY) {
if (recursive) {
DeleteDirectory(fullpath + entry.Path, true);
}
} else {
ASSERT(false); // DirectoryEntry is something unknown to this
// implementation. Check DirectoryIterator for
// changes.
}
}
}