本文整理汇总了C++中MyString::endWith方法的典型用法代码示例。如果您正苦于以下问题:C++ MyString::endWith方法的具体用法?C++ MyString::endWith怎么用?C++ MyString::endWith使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyString
的用法示例。
在下文中一共展示了MyString::endWith方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: exec
void CommandCd::exec(VirtualDiskNode* vfs)
{
if (!vfs)
{
assert(0);
return;
}
if (m_path.isEmpty())
{
MyString pwd = vfs->pwd();
if (!pwd.endWith(_T("\\")))
{
pwd += _T("\\");
}
_tprintf(_T("%s\n"), pwd.c_str());
return;
}
if (!isNormalizedPath(m_path))
{
m_path = vfs->pathNormalize(m_path);
}
m_path = m_path.toLower();
if (!m_path.startWith(_T("c:")))
{
throw CommandException(_T("系统找不到指定的驱动器\n"));
}
if (!vfs->isDir(m_path))
{
throw CommandException(_T("系统找不到指定的目录\n"));
}
vfs->chdir(m_path);
return;
}
示例2: isNormalizedPath
bool isNormalizedPath(MyString path)
{
if (isVolumnRelative(path) || isRelative(path))
{
return false;
}
else if (isAbs(path) && !path.endWith(_T("\\")))
{
return true;
}
return false;
}
示例3: pathNormalize
// 不改变路径中的大小写情况
MyString VirtualDiskNode::pathNormalize(MyString path) const
{
MyString ret;
if (!isPath(path))
{
assert(0);
return ret;
}
if (isVolumnRelative(path))
{
ret = join(m_pwd.substr(0, 2), path);
}
else if (isRelative(path))
{
if (path == _T("."))
{
ret = m_pwd;
}
else if (path == _T(".."))
{
ret = dirname(m_pwd);
}
else if (path.startWith(_T("..\\")))
{
ret = dirname(m_pwd) + path.substr(2);
}
else if (path.startWith(_T(".\\")))
{
ret = m_pwd + path.substr(1);
}
// 直接输入名字的情况
else if (!match(path, _T("?:*")))
{
ret = m_pwd + _T("\\") + path;
}
}
// 绝对路径中处理:\dir\file的情况
//else if (path.startWith(_T("\\")))
//{
// ret = _T("c:") + path;
//}
if (path.endWith(_T("\\")))
{
ret = ret.substr(0, ret.size() - 1);
}
return ret;
}