本文整理汇总了C++中string::BeginsWith方法的典型用法代码示例。如果您正苦于以下问题:C++ string::BeginsWith方法的具体用法?C++ string::BeginsWith怎么用?C++ string::BeginsWith使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类string
的用法示例。
在下文中一共展示了string::BeginsWith方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParsePath
string ParsePath(string curDir, string path)
{
list<string> pathDirs, curDirs;
string ret("/");
if(path.BeginsWith("/")) // absolute path
curDir = "/";
path.Tokenize('/', pathDirs); // split up the path
curDir.Tokenize('/', curDirs); // split up the current directory
// go through and remove all the .. & . stuff
for(list<string>::iterator cur = pathDirs.begin(); cur != pathDirs.end(); ++cur)
{
if(*cur == "..")
{
if(curDirs.size() != 0)
curDirs.erase(--curDirs.end()); // remove the last item
}
else if(*cur == ".") // move on
continue;
else // just copy this dir on
curDirs.push_back(*cur);
}
// put the string back together
for(list<string>::iterator it = curDirs.begin(); it != curDirs.end(); ++it)
{
ret += *it;
ret += "/";
}
ret.erase(--ret.end()); // no trailing /
if(ret.size() == 0)
ret = "/";
return ret;
}