当前位置: 首页>>代码示例>>C++>>正文


C++ KString::GetLength方法代码示例

本文整理汇总了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;
	}
}
开发者ID:tetratec,项目名称:runescape-classic-dump,代码行数:30,代码来源:kstrings.cpp

示例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;
}
开发者ID:tetratec,项目名称:runescape-classic-dump,代码行数:14,代码来源:registry.cpp

示例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;
}
开发者ID:tetratec,项目名称:runescape-classic-dump,代码行数:46,代码来源:token.cpp

示例4: KString

KString KString::operator + (const KString& SString) const
{
	return KString(GetDataPtr(), GetLength(), SString, SString.GetLength());
}
开发者ID:tetratec,项目名称:runescape-classic-dump,代码行数:4,代码来源:kstring.cpp


注:本文中的KString::GetLength方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。