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


C++ Crc32::GetCRC方法代码示例

本文整理汇总了C++中Crc32::GetCRC方法的典型用法代码示例。如果您正苦于以下问题:C++ Crc32::GetCRC方法的具体用法?C++ Crc32::GetCRC怎么用?C++ Crc32::GetCRC使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Crc32的用法示例。


在下文中一共展示了Crc32::GetCRC方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Analyse

/*  
@	功能:	分析字符串
@	参数:	lpszString:	要分析的字符串
			vecTokens:	分析结果
@	返回值:如果分析失败,返回false
@	注:	
*/
bool CLexicalAnalyzer::Analyse( const char * lpszString, TLexTokens & vecTokens )
{
	static Crc32 crcGen;
	unsigned int crc = crcGen.GetCRC( lpszString );
	std::map<unsigned int,TLexTokens>::iterator iter = m_Tokens.find( crc );
	if( iter != m_Tokens.end() )
	{
		vecTokens = iter->second;
		return true;
	}

	vecTokens.clear();
	if( NULL == lpszString )
		return false;

	m_nStringLen	= (int)strlen( lpszString );
	if( m_nStringLen == 0 )
		return true;

	char * pszStr = new char[m_nStringLen+1];
	memcpy( pszStr, lpszString, m_nStringLen );
	pszStr[m_nStringLen] = '\0';

	m_nCurCharPos	= 0;
	m_lpszString = lpszString;
	
	while( true )
	{
		m_curState	= ELexState_Start;
		if( ! GetNextToken() )
		{
			vecTokens.clear();
			return false;
		}

		if( m_curToken.m_eTokenType == EToken_Complete )
			break;

		vecTokens.push_back( m_curToken );
		m_curToken.m_eTokenType = EToken_Invalid;
	}
	m_Tokens.insert( make_pair( crc, vecTokens ) );
	return true;
}
开发者ID:duzhi5368,项目名称:FKAISystem,代码行数:51,代码来源:AILexicalAnalyzer.cpp


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