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