本文整理汇总了C++中TDes16::MaxLength方法的典型用法代码示例。如果您正苦于以下问题:C++ TDes16::MaxLength方法的具体用法?C++ TDes16::MaxLength怎么用?C++ TDes16::MaxLength使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TDes16
的用法示例。
在下文中一共展示了TDes16::MaxLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: totalConverted
// -----------------------------------------------------------------------------
// JPLangUtil::ConvertFullHiragnaToFullKatakana
// Converts Full-width Hiragana and Special Character text found in
// aUnicodeSource to their Full-width counterparts and places the
// resulting text into aUnicodeTarget.
// -----------------------------------------------------------------------------
//
EXPORT_C TInt JPLangUtil::ConvertFullHiragnaToFullKatakana
( const TDesC16& aUnicodeSource, TDes16& aUnicodeTarget )
{
TInt totalConverted( 0 );
const TInt length( aUnicodeSource.Length() );
const TInt maxLength( aUnicodeTarget.MaxLength() );
if( length > maxLength )
{
return KErrTooBig;
}
const TUint comp = KFullWidthKatakanaSmallA - KFullWidthHiraganaSmallA;
aUnicodeTarget.Zero();
for( TInt i( 0 ); i < length; ++i )
{
const TText uniChar( aUnicodeSource[i] );
TText uniChar2(0);
if (i + 1 < length)
{
uniChar2 = aUnicodeSource[i+1];
}
// First check if this is this Full Width Katakana
if (KFullWidthHiraganaSmallA <= uniChar && uniChar <= KFullWidthHiraganaVU)
{
if (uniChar == KFullWidthHiraganaU
&& uniChar2 == KFullWidthHiraganaVoicedSound)
{
aUnicodeTarget.Append(KFullWidthKatakanaSmallVU);
totalConverted++;
i++;
}
else
{
TUint katakana = uniChar + comp;
if (IsKatakana(katakana))
{
aUnicodeTarget.Append(katakana);
totalConverted++;
}
}
}
else
{
aUnicodeTarget.Append(uniChar);
totalConverted++;
}
}
// Now handle special characters
// This logic may be moved into this function to avoid another loop over
// the text
totalConverted +=
UnicodeTextUtil::ConvertSpecialCharactersInPlace( EFullToHalfWidth,
aUnicodeTarget );
return totalConverted;
}
示例2: wcslen
EXPORT_C int WstringToTbuf16(wstring& aSrc, TDes16& aDes)
{
int retval = ESuccess;
const wchar_t* wcharString = aSrc.c_str();
if (L'\0' == wcharString[0])
{
return EStringNoData;
}
int len= wcslen(wcharString);
if ((wcslen(wcharString)) > aDes.MaxLength())
if (len > aDes.MaxLength())
{
return EInsufficientMemory;
}
aDes.Copy((const TUint16*)wcharString);
return retval;
}
示例3: wcslen
EXPORT_C int WcharToTbuf16(const wchar_t* aSrc, TDes16& aDes)
{
unsigned int ilen = 0;
if ( !aSrc )
{
return EInvalidPointer;
}
else
{
ilen = wcslen(aSrc);
if(ilen > aDes.MaxLength())
{
return EInsufficientMemory;
}
}
aDes.Copy((const TUint16*)aSrc, ilen);
return ESuccess;
}