亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tinyxml.cpp

?? 一個游戲源碼,初學者可以用來學習
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/*www.sourceforge.net/projects/tinyxmlOriginal code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)This software is provided 'as-is', without any express or impliedwarranty. In no event will the authors be held liable for anydamages arising from the use of this software.Permission is granted to anyone to use this software for anypurpose, including commercial applications, and to alter it andredistribute it freely, subject to the following restrictions:1. The origin of this software must not be misrepresented; you mustnot claim that you wrote the original software. If you use thissoftware in a product, an acknowledgment in the product documentationwould be appreciated but is not required.2. Altered source versions must be plainly marked as such, andmust not be misrepresented as being the original software.3. This notice may not be removed or altered from any sourcedistribution.*/#include "stdafx.h"#include <ctype.h>#ifdef TIXML_USE_STL#include <sstream>#include <iostream>#endif#include "tinyxml.h"bool TiXmlBase::condenseWhiteSpace = true;// Microsoft compiler securityFILE* TiXmlFOpen( const char* filename, const char* mode ){	#if defined(_MSC_VER) && (_MSC_VER >= 1400 )		FILE* fp = 0;		errno_t err = fopen_s( &fp, filename, mode );		if ( !err && fp )			return fp;		return 0;	#else		return fopen( filename, mode );	#endif}void TiXmlBase::EncodeString( const TIXML_STRING& str, TIXML_STRING* outString ){	int i=0;	while( i<(int)str.length() )	{		unsigned char c = (unsigned char) str[i];		if (    c == '&' 		     && i < ( (int)str.length() - 2 )			 && str[i+1] == '#'			 && str[i+2] == 'x' )		{			// Hexadecimal character reference.			// Pass through unchanged.			// &#xA9;	-- copyright symbol, for example.			//			// The -1 is a bug fix from Rob Laveaux. It keeps			// an overflow from happening if there is no ';'.			// There are actually 2 ways to exit this loop -			// while fails (error case) and break (semicolon found).			// However, there is no mechanism (currently) for			// this function to return an error.			while ( i<(int)str.length()-1 )			{				outString->append( str.c_str() + i, 1 );				++i;				if ( str[i] == ';' )					break;			}		}		else if ( c == '&' )		{			outString->append( entity[0].str, entity[0].strLength );			++i;		}		else if ( c == '<' )		{			outString->append( entity[1].str, entity[1].strLength );			++i;		}		else if ( c == '>' )		{			outString->append( entity[2].str, entity[2].strLength );			++i;		}		else if ( c == '\"' )		{			outString->append( entity[3].str, entity[3].strLength );			++i;		}		else if ( c == '\'' )		{			outString->append( entity[4].str, entity[4].strLength );			++i;		}		else if ( c < 32 )		{			// Easy pass at non-alpha/numeric/symbol			// Below 32 is symbolic.			char buf[ 32 ];						#if defined(TIXML_SNPRINTF)						TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) );			#else				sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) );			#endif					//*ME:	warning C4267: convert 'size_t' to 'int'			//*ME:	Int-Cast to make compiler happy ...			outString->append( buf, (int)strlen( buf ) );			++i;		}		else		{			//char realc = (char) c;			//outString->append( &realc, 1 );			*outString += (char) c;	// somewhat more efficient function call.			++i;		}	}}TiXmlNode::TiXmlNode( NodeType _type ) : TiXmlBase(){	parent = 0;	type = _type;	firstChild = 0;	lastChild = 0;	prev = 0;	next = 0;}TiXmlNode::~TiXmlNode(){	TiXmlNode* node = firstChild;	TiXmlNode* temp = 0;	while ( node )	{		temp = node;		node = node->next;		delete temp;	}	}void TiXmlNode::CopyTo( TiXmlNode* target ) const{	target->SetValue (value.c_str() );	target->userData = userData; }void TiXmlNode::Clear(){	TiXmlNode* node = firstChild;	TiXmlNode* temp = 0;	while ( node )	{		temp = node;		node = node->next;		delete temp;	}		firstChild = 0;	lastChild = 0;}TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node ){	assert( node->parent == 0 || node->parent == this );	assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() );	if ( node->Type() == TiXmlNode::DOCUMENT )	{		delete node;		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	node->parent = this;	node->prev = lastChild;	node->next = 0;	if ( lastChild )		lastChild->next = node;	else		firstChild = node;			// it was an empty list.	lastChild = node;	return node;}TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis ){	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	return LinkEndChild( node );}TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ){		if ( !beforeThis || beforeThis->parent != this ) {		return 0;	}	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	node->parent = this;	node->next = beforeThis;	node->prev = beforeThis->prev;	if ( beforeThis->prev )	{		beforeThis->prev->next = node;	}	else	{		assert( firstChild == beforeThis );		firstChild = node;	}	beforeThis->prev = node;	return node;}TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ){	if ( !afterThis || afterThis->parent != this ) {		return 0;	}	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	node->parent = this;	node->prev = afterThis;	node->next = afterThis->next;	if ( afterThis->next )	{		afterThis->next->prev = node;	}	else	{		assert( lastChild == afterThis );		lastChild = node;	}	afterThis->next = node;	return node;}TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ){	if ( replaceThis->parent != this )		return 0;	TiXmlNode* node = withThis.Clone();	if ( !node )		return 0;	node->next = replaceThis->next;	node->prev = replaceThis->prev;	if ( replaceThis->next )		replaceThis->next->prev = node;	else		lastChild = node;	if ( replaceThis->prev )		replaceThis->prev->next = node;	else		firstChild = node;	delete replaceThis;	node->parent = this;	return node;}bool TiXmlNode::RemoveChild( TiXmlNode* removeThis ){	if ( removeThis->parent != this )	{			assert( 0 );		return false;	}	if ( removeThis->next )		removeThis->next->prev = removeThis->prev;	else		lastChild = removeThis->prev;	if ( removeThis->prev )		removeThis->prev->next = removeThis->next;	else		firstChild = removeThis->next;	delete removeThis;	return true;}const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const{	const TiXmlNode* node;	for ( node = firstChild; node; node = node->next )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::LastChild( const char * _value ) const{	const TiXmlNode* node;	for ( node = lastChild; node; node = node->prev )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::IterateChildren( const TiXmlNode* previous ) const{	if ( !previous )	{		return FirstChild();	}	else	{		assert( previous->parent == this );		return previous->NextSibling();	}}const TiXmlNode* TiXmlNode::IterateChildren( const char * val, const TiXmlNode* previous ) const{	if ( !previous )	{		return FirstChild( val );	}	else	{		assert( previous->parent == this );		return previous->NextSibling( val );	}}const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const {	const TiXmlNode* node;	for ( node = next; node; node = node->next )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::PreviousSibling( const char * _value ) const{	const TiXmlNode* node;	for ( node = prev; node; node = node->prev )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}void TiXmlElement::RemoveAttribute( const char * name ){    #ifdef TIXML_USE_STL	TIXML_STRING str( name );	TiXmlAttribute* node = attributeSet.Find( str );	#else	TiXmlAttribute* node = attributeSet.Find( name );	#endif	if ( node )	{		attributeSet.Remove( node );		delete node;	}}const TiXmlElement* TiXmlNode::FirstChildElement() const{	const TiXmlNode* node;	for (	node = FirstChild();			node;			node = node->NextSibling() )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const{	const TiXmlNode* node;	for (	node = FirstChild( _value );			node;			node = node->NextSibling( _value ) )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::NextSiblingElement() const{	const TiXmlNode* node;	for (	node = NextSibling();			node;			node = node->NextSibling() )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::NextSiblingElement( const char * _value ) const{	const TiXmlNode* node;	for (	node = NextSibling( _value );			node;			node = node->NextSibling( _value ) )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlDocument* TiXmlNode::GetDocument() const{	const TiXmlNode* node;	for( node = this; node; node = node->parent )	{		if ( node->ToDocument() )			return node->ToDocument();	}	return 0;}TiXmlElement::TiXmlElement (const char * _value)	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	value = _value;}#ifdef TIXML_USE_STLTiXmlElement::TiXmlElement( const std::string& _value ) 	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	value = _value;}#endifTiXmlElement::TiXmlElement( const TiXmlElement& copy)	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	copy.CopyTo( this );	}void TiXmlElement::operator=( const TiXmlElement& base ){	ClearThis();	base.CopyTo( this );}TiXmlElement::~TiXmlElement(){	ClearThis();}void TiXmlElement::ClearThis(){	Clear();	while( attributeSet.First() )	{		TiXmlAttribute* node = attributeSet.First();		attributeSet.Remove( node );		delete node;	}}const char* TiXmlElement::Attribute( const char* name ) const{	const TiXmlAttribute* node = attributeSet.Find( name );	if ( node )		return node->Value();	return 0;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name ) const{	const TiXmlAttribute* node = attributeSet.Find( name );	if ( node )		return &node->ValueStr();	return 0;}#endifconst char* TiXmlElement::Attribute( const char* name, int* i ) const{	const char* s = Attribute( name );	if ( i )	{		if ( s ) {			*i = atoi( s );		}		else {			*i = 0;		}	}	return s;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const{	const std::string* s = Attribute( name );	if ( i )	{		if ( s ) {			*i = atoi( s->c_str() );		}		else {			*i = 0;		}	}	return s;}#endifconst char* TiXmlElement::Attribute( const char* name, double* d ) const{	const char* s = Attribute( name );	if ( d )	{		if ( s ) {			*d = atof( s );		}		else {			*d = 0;		}	}	return s;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name, double* d ) const{	const std::string* s = Attribute( name );	if ( d )	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区福利视频| 欧美一区午夜视频在线观看| 国产精品一区在线观看乱码| 奇米影视一区二区三区小说| 偷窥国产亚洲免费视频| 亚洲综合丁香婷婷六月香| 国产精品高潮呻吟久久| 国产精品高潮呻吟| 亚洲欧洲日韩av| 亚洲精选一二三| 日韩在线一区二区三区| 蜜乳av一区二区| 国产成人亚洲综合a∨猫咪| 国产69精品久久99不卡| 99精品黄色片免费大全| 欧美少妇bbb| 日韩欧美国产1| 久久久久久**毛片大全| 亚洲日本青草视频在线怡红院 | 日韩一区国产二区欧美三区| 91精品国产综合久久精品图片| 制服丝袜中文字幕一区| 欧美精品一区在线观看| 国产精品美女一区二区三区| 一区二区三区日韩精品视频| 久久精品国产一区二区| 国产**成人网毛片九色| 在线观看日产精品| 日韩欧美中文一区二区| 国产精品欧美一区喷水| 亚洲午夜在线观看视频在线| 久久99精品视频| 99久久99久久久精品齐齐| 69p69国产精品| 国产精品蜜臀av| 美女网站在线免费欧美精品| 成人一级片在线观看| 欧美日韩视频在线第一区| 久久精品视频网| 亚洲国产精品一区二区尤物区| 国产馆精品极品| 91精品在线观看入口| 国产精品久久三| 日本成人超碰在线观看| 99久久婷婷国产| 久久免费看少妇高潮| 亚洲福利电影网| 播五月开心婷婷综合| 精品美女被调教视频大全网站| 亚洲精品v日韩精品| 国产精品一级片在线观看| 欧美日韩高清影院| 成人免费视频在线观看| 国产一区二区日韩精品| 69精品人人人人| 一级做a爱片久久| 成人午夜精品一区二区三区| 精品美女被调教视频大全网站| 亚洲在线免费播放| 成人av免费网站| 亚洲国产高清在线观看视频| 美脚の诱脚舐め脚责91| 91精品国产综合久久久久久 | 日韩精品一区二区三区视频播放 | 一区二区三区在线视频播放 | 亚洲综合区在线| 色综合亚洲欧洲| 欧美激情艳妇裸体舞| 精品一区二区综合| 日韩欧美国产一区二区三区 | 亚洲高清免费观看高清完整版在线观看| 成人一道本在线| 国产精品乱子久久久久| 国产91在线|亚洲| 国产欧美日韩卡一| 国产成人精品在线看| 国产欧美一区二区三区网站| 国产精品99久| 欧美韩国日本不卡| 成人午夜激情在线| 国产精品国模大尺度视频| 不卡电影一区二区三区| 国产精品成人在线观看| 91亚洲国产成人精品一区二三| 中文字幕中文字幕在线一区 | 久久精品免视看| 成人免费高清视频在线观看| 欧美高清在线一区| 91丨九色丨蝌蚪富婆spa| 一区二区在线观看免费| 欧美主播一区二区三区| 丝袜美腿亚洲一区| 精品日韩成人av| 懂色av一区二区夜夜嗨| 亚洲色图视频免费播放| 欧美日韩精品系列| 国内偷窥港台综合视频在线播放| 久久久高清一区二区三区| 白白色 亚洲乱淫| 亚洲午夜激情av| 日韩欧美色电影| www.成人网.com| 视频一区欧美日韩| 久久久国产精华| 精品视频一区 二区 三区| 久久av老司机精品网站导航| 中文字幕在线免费不卡| 3d成人动漫网站| 成人免费三级在线| 天堂久久一区二区三区| 日本一区二区免费在线| 欧美日韩国产a| av网站免费线看精品| 日韩国产精品91| 国产精品福利电影一区二区三区四区| 色999日韩国产欧美一区二区| 日韩精品每日更新| 1区2区3区精品视频| 日韩三级视频在线观看| av成人动漫在线观看| 日韩精品久久理论片| 1000精品久久久久久久久| 91精品国产综合久久久久久漫画 | 一区二区激情小说| www久久精品| 欧美日韩中字一区| 91丨九色丨尤物| 大尺度一区二区| 久草这里只有精品视频| 日韩精品亚洲一区二区三区免费| 中文字幕一区二区三| 亚洲精品一区二区三区99| 欧美精品vⅰdeose4hd| 99精品国产一区二区三区不卡| 国模一区二区三区白浆| 日韩中文字幕区一区有砖一区| 日韩一区中文字幕| 亚洲国产成人私人影院tom| 日韩美女视频一区二区在线观看| 欧美在线制服丝袜| 99精品黄色片免费大全| 成人午夜伦理影院| 国产精品综合网| 久久成人av少妇免费| 丝袜美腿高跟呻吟高潮一区| 亚洲国产欧美另类丝袜| 性做久久久久久免费观看欧美| 亚洲精品乱码久久久久久久久 | 国产成人小视频| 国产一二精品视频| 看片的网站亚洲| 久久97超碰国产精品超碰| 精油按摩中文字幕久久| 奇米综合一区二区三区精品视频| 日韩av一区二区在线影视| 免费在线观看精品| 狂野欧美性猛交blacked| 激情六月婷婷久久| 久久aⅴ国产欧美74aaa| 国产九色sp调教91| va亚洲va日韩不卡在线观看| 成年人网站91| 欧美亚洲丝袜传媒另类| 欧美日高清视频| 日韩视频在线永久播放| 久久亚洲精品小早川怜子| 久久精品免费在线观看| 亚洲三级视频在线观看| 三级一区在线视频先锋| 精品影视av免费| aaa亚洲精品一二三区| 欧洲激情一区二区| 欧美一级久久久| 国产片一区二区| 夜夜操天天操亚洲| 三级一区在线视频先锋 | 欧美美女一区二区| 日韩欧美国产高清| 国产精品国产三级国产| 日韩黄色在线观看| 菠萝蜜视频在线观看一区| 91国偷自产一区二区开放时间 | 亚洲一区二区中文在线| 秋霞电影网一区二区| 国产精品69毛片高清亚洲| 一本色道亚洲精品aⅴ| 在线不卡免费欧美| 欧美激情一区二区三区| 亚洲成年人影院| 成人精品在线视频观看| 在线电影欧美成精品| 国产精品久久毛片| 日韩av网站在线观看| 成人h动漫精品一区二区| 欧美美女喷水视频| 亚洲欧美一区二区视频| 久久69国产一区二区蜜臀| 在线观看亚洲成人| 久久久九九九九| 热久久免费视频|