本文整理汇总了C++中common::String::Clear方法的典型用法代码示例。如果您正苦于以下问题:C++ String::Clear方法的具体用法?C++ String::Clear怎么用?C++ String::Clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common::String
的用法示例。
在下文中一共展示了String::Clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Divide
bool String::Divide(StringVector& sv, bool bDQM)
{
static char Blanks[NUM_BLANKS] = {' ', '\t', '\r', '\n', '\0'};
sv.clear();
bool bEnterDQM = false; // double quotation marks
Common::String sTemp;
for(unsigned int i = 0; i < GetSize(); ++i)
{
char c = at(i);
bool bPush = false;
if(bEnterDQM && bDQM) // 如果是在双引号中
{
if(c == '"') // 终结双引号
{
bPush = true;
bEnterDQM = false;
}
else
{
sTemp += c; // 直接追加字符串
}
}
else // 不在双引号中
{
if(c == '"' && bDQM) // 要进入双引号中
{
bPush = true;
bEnterDQM = true;
}
else // 不是双引号,只是普通字符
{
bool bBlank = false;
for(unsigned int j = 0; j < NUM_BLANKS; ++j)
{
if(c == Blanks[j])
{
bPush = true;
bBlank = true; // 是空白字符
break;
}
}
if(!bBlank) // 不是空白字符
{
sTemp += c;
}
}
}
if(bPush)
{
if(!sTemp.empty())
{
sv.push_back(sTemp);
sTemp.Clear();
}
}
}
if(bEnterDQM && bDQM) // 还在双引号中,一定是出现了语法错误(漏了结束双引号)
{
//throw Common::Exception(Common::EL_GENERAL, "Extractor::DivideString", "Grammar error: a terminator of DQM expected!");
}
if(!sTemp.empty())
{
sv.push_back(sTemp);
sTemp.Clear();
}
return true;
}