本文整理汇总了C++中TDesC16::Find方法的典型用法代码示例。如果您正苦于以下问题:C++ TDesC16::Find方法的具体用法?C++ TDesC16::Find怎么用?C++ TDesC16::Find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TDesC16
的用法示例。
在下文中一共展示了TDesC16::Find方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TokenizeCSV
TBool TAzenqosEngineUtils::TokenizeCSV(const TDesC16& whole,TPtrC16& ret, TPtrC16& remainder, TChar aDelim)
{
TPtrC16 afterFristQuote(0,0);
TBuf<3> aDelimStr;
aDelimStr.Append(aDelim);
TInt firstQuotePos = whole.Find(KQuote16);
TInt CommaPos = whole.Find(aDelimStr);
TInt secondQuotePos = -1;
TBool encounteredQuote = EFalse;
if(firstQuotePos>=0 && firstQuotePos<CommaPos)
{
encounteredQuote = ETrue;
afterFristQuote.Set(whole.Right(whole.Length()-firstQuotePos-1));
secondQuotePos = afterFristQuote.Find(KQuote16);
if(secondQuotePos<0)
{
TBuf<32> countbuf;
countbuf =_L("Parse Error: Mis-Quote");
/*
CAknErrorNote* informationNote = new (ELeave) CAknErrorNote(ETrue);
informationNote->SetTimeout(CAknNoteDialog::EShortTimeout);
informationNote->ExecuteLD(countbuf);*/
return EFalse;//misquote
}
secondQuotePos += (firstQuotePos+1);
CommaPos = secondQuotePos+1;
}
else
{
//csv.Set(incsv);
}
if(CommaPos>=0)
{
/*if(encounteredQuote)
{
ret.Set(incsv.Mid(1,CommaPos-1));
}
else
{
}*/
ret.Set(whole.Left(CommaPos));
if(ret.Length()>=2 && ret[0] == '"' && ret[ret.Length()-1] == '"' )
{
if(ret.Length()>2)
{
TPtrC16 tmp(0,0);
tmp.Set(whole.Left(CommaPos));
ret.Set(tmp.Mid(1,tmp.Length()-2));
}
else //ret==2
{
ret.Set(0,0);
}
}
remainder.Set(whole.Right(whole.Length()-CommaPos-1));
return ETrue;
}
//remainder.Set(incsv);
return EFalse;
}