⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 variableinfo.cpp

📁 天之炼狱1服务器端源文件游戏服务端不完整
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////// Filename    : VariableInfo.h// Written By  : // Description :////////////////////////////////////////////////////////////////////////////////#include "VariableInfo.h"#include "Utility.h"////////////////////////////////////////////////////////////////////////////////// static constant variables////////////////////////////////////////////////////////////////////////////////const char VariableInfo::Seperator = ':';const char VariableInfo::LParen = '(';const char VariableInfo::RParen = ')';const char VariableInfo::ParamSeperator = '|';VariableInfo::VariableInfo( const string& buffer ){	m_Buffer = buffer;	parse();}VariableInfo::~VariableInfo(){}/////////////////////////////////////////////////////////////             i             j      k// 0123456789012345678901234567890123// EntranceFee : EntranceFee ( 1003 )///////////////////////////////////////////////////////////void VariableInfo::parse()	throw (Error){	__BEGIN_TRY	uint i = m_Buffer.find( Seperator );	uint j = m_Buffer.find( LParen );	uint k = m_Buffer.find( RParen );	if ( i == string::npos		|| j == string::npos		|| k == string::npos		|| i > j		|| j > k	)	{		throw Error("Invalid VariableInfo String");	}	m_Name = trim( m_Buffer.substr( 0, i ) );	m_Keyword = trim( m_Buffer.substr( i+1, j-i-1 ) );	string parameters = trim( m_Buffer.substr( j+1, k-j-1 ) );	if ( parameters.size() == 0 )		return;	bool bEnd = false;	int index = 0;	i = 0;	do 	{		j = parameters.find_first_of( ParamSeperator, i );		// seperator 啊 绝促搁 付瘤阜 蔼捞促.		if ( j == string::npos )		{			j = parameters.size();			bEnd = true;		}		string parameter = parameters.substr( i, j-i );		//m_Parameters.push_back( trim( parameters.substr( i, j-i ) ) );		m_Parameters.push_back( trim( parameter) );		index ++;		i = j + 1;	}	while ( !bEnd );		__END_CATCH}const string& VariableInfo::getParameter( int index ) const	throw(OutOfBoundException, Error){	__BEGIN_TRY	if ( index < 0 || index >= (int)m_Parameters.size() )		throw OutOfBoundException("VariableInfo::getParameter() OOB!!");	return m_Parameters[index];	__END_CATCH}string VariableInfo::toString() const	throw(){	__BEGIN_TRY	StringStream msg;	msg << "VariableInfo("		<< "Name:" << m_Name		<< ",Keyword:" << m_Keyword		<< ",Parameter(";	vector<string>::const_iterator itr = m_Parameters.begin();	for ( ; itr != m_Parameters.end(); itr++ )	{		msg << (*itr) << ",";	}	msg << "))";	return msg.toString();	__END_CATCH}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -