本文整理汇总了C++中KString::GetLength方法的典型用法代码示例。如果您正苦于以下问题:C++ KString::GetLength方法的具体用法?C++ KString::GetLength怎么用?C++ KString::GetLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KString
的用法示例。
在下文中一共展示了KString::GetLength方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SplitString
// --------
// Strings
// --------
void KStrings::SplitString( const KString& String,
LPCTSTR pSplitter,
bool bAddEmpty,
bool bClearFirst)
{
if(bClearFirst)
Clear();
const size_t szSplitterLength = _tcslen(pSplitter);
size_t szPos = 0;
for(;;)
{
size_t szOldPos = szPos;
szPos = String.Find(pSplitter, szPos);
if(szPos == UINT_MAX)
{
if(bAddEmpty || szOldPos < String.GetLength())
*AddLast() = String.Mid(szOldPos);
break;
}
if(bAddEmpty || szPos > szOldPos)
*AddLast() = String.Mid(szOldPos, szPos - szOldPos), szPos += szSplitterLength;
}
}
示例2: WriteString
void KRegistryKey::WriteString(const KString& ValueName, const KString& Value)
{
DEBUG_VERIFY_ALLOCATION;
DEBUG_VERIFY(IsOpen());
size_t szLength = Value.GetLength();
TValueArray<TCHAR, true> Buf;
Buf.Allocate(szLength + 2), Buf.Add(szLength + 2);
memcpy(Buf.GetDataPtr(), (LPCTSTR)Value, (szLength + 1)*sizeof(TCHAR)), Buf[szLength + 1] = 0;
if(RegSetValueEx(m_hKey, ValueName, NULL, REG_SZ, (BYTE*)Buf.GetDataPtr(), (szLength + 1) * sizeof(TCHAR)))
INITIATE_FAILURE;
}
示例3: Process
// -------
// Tokens
// -------
KString TTokens::Process(const KString& String) const
{
KString DstString;
for(size_t szStart = 0 ; szStart < String.GetLength() ; )
{
// Scanning for the closest token starting at 'szStart'
const TToken* pClosestToken = NULL;
size_t szClosestTokenPos;
for(size_t i = 0 ; i < GetN() ; i++)
{
const TToken& CurToken = GetDataRef(i);
size_t szPos = String.Find(CurToken.m_SrcString, szStart);
if(szPos == UINT_MAX)
continue;
if( pClosestToken == NULL ||
szPos < szClosestTokenPos ||
szPos == szClosestTokenPos &&
CurToken.m_SrcString.GetLength() >
pClosestToken->m_SrcString.GetLength())
{
pClosestToken = &CurToken, szClosestTokenPos = szPos;
}
}
if(pClosestToken == NULL) // no more tokens found
{
DstString += String.Mid(szStart); // adding leftovers
break;
}
DstString += String.Mid(szStart, szClosestTokenPos - szStart); // adding pre-token part
DstString += pClosestToken->m_DstString; // adding token replacement
// Forwarding 'szStart' to the end of just substed token
szStart = szClosestTokenPos + pClosestToken->m_SrcString.GetLength();
}
return DstString;
}
示例4: KString
KString KString::operator + (const KString& SString) const
{
return KString(GetDataPtr(), GetLength(), SString, SString.GetLength());
}