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


C++ CTokenizer::CloseFile方法代码示例

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


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

示例1: ParseStateFile

void CStateParser::ParseStateFile(const char* strFileName,CStateManager &StateManager,CAllocater *a)
{
     //Set pointer to allocater
     m_pAlloc=a;
     
     CTokenizer tok;
     bool foundState=false;
     
     if( !tok.OpenFile(strFileName) )
        throw(CError("CStateParser::ParseState: File %s not found",strFileName));
        
     tok.SetIsCaseSensitive(false);
     tok.SetReturnNegativeSeperatelyFromNumber(false);
        

     while( !tok.AtEndOfFile() )
     {
          foundState=false;
          
          if( tok.CheckToken("[") )
          {
            
             if( tok.CheckToken("statedef") )
             {
                 foundState=true;
                 if(!tok.CheckTokenIsNumber())
                     Error("Expected a number in statedef block",tok);
                     
                 StateManager.AddStateDef(tok.GetInt());
                
                 //Skip useless stuff
                 while( !tok.AtEndOfLine() )
                         tok.GetToken();
                
                //parse the state def
                ParseStateDef(tok,StateManager);        
                         
                         
             }
             if( tok.CheckToken("state") )
             {
               foundState=true;  
               
               if(!tok.CheckTokenIsNumber())
                     Error("Expected a number in state block",tok);
                 
			   int stateno = tok.GetInt();

			   tok.CheckToken(",");

// 			   if(!tok.CheckTokenIsQuotedString()
// 				   && !tok.CheckTokenIsNumber())
// 				   Error("Expected a number in state block",tok);

			   std::string str = tok.GetToken();
               StateManager.AddState(stateno, str.c_str());
                                  
			   while(!tok.AtEndOfLine())
				   tok.GetToken();  
                         
				PareseState(tok,StateManager);
                   
             }
    
          
          }
          
          //skip useless stuff
          if(!foundState)
             tok.GetToken(); 
            
     }
     
     tok.CloseFile();
}
开发者ID:oraclehan,项目名称:mutest,代码行数:75,代码来源:StateParser.cpp

示例2: LoadCMDFile

bool CCmdManager::LoadCMDFile( const char* file )
{
    int defaultCommandTime = 15;
    int defaultBufferTime = 1;
    
    m_CommandCount = 0;

    CTokenizer tok;
    //changed this to throw a exception
    if( !tok.OpenFile( file ) )
    {
        throw(CError("CCmdManager::LoadCMDFile : Can't open %s",file));
        return false;
    }
        
    // get count first to set up memory        
    while( !tok.AtEndOfFile() )
    {
        bool foundSomething = false;
        if( tok.CheckToken( "command.time" ) )
        {
            foundSomething = true;
            if( !tok.CheckToken( "=" ) )
            {
            }
            if( tok.CheckTokenIsNumber() )
            {
                defaultCommandTime = tok.GetInt();
            }            
        }
        
        if( tok.CheckToken( "command.buffer.time" ) )
        {
            foundSomething = true;
            if( !tok.CheckToken( "=" ) )
            {
            }
            if( tok.CheckTokenIsNumber() )
            {
                defaultBufferTime = tok.GetInt();
            }
        }
        
        if( tok.CheckToken( "[" ) )
        {
            foundSomething = true;
            if( tok.CheckToken( "Command" ) )
            {
                if( tok.CheckToken( "]" ) )
                {
                    m_CommandCount++;
                }       
            }
        }        
        if( !foundSomething )
        {
            tok.GetToken(); // skip it
        }
    }
        
    tok.CloseFile();
 
    if( !tok.OpenFile( file ) )
        return false;
 
    m_Commands = new PLCOMMAND[ m_CommandCount ];
    PLCOMMAND* command = m_Commands;
    
    while( !tok.AtEndOfFile() )
    {
        bool foundCommand = false;
        if( tok.CheckToken( "[" ) )
        {
            if( tok.CheckToken( "Command" ) )
            {
                if( !tok.CheckToken( "]" ) )
                {
                }
                
                foundCommand = true;
                command->nCommandTime = defaultCommandTime;
                command->nBufferTime = defaultBufferTime;
                command->strCommand[0] = 0;
                command->nHowManyCommand = 0;
                
                while( command->nHowManyCommand < MAXCOMMAND && !tok.CheckToken( "[", false ) && !tok.AtEndOfFile() )
                {
                    if( tok.CheckToken( "name" ) )
                    {
                        if( !tok.CheckToken( "=" ) )
                        {
                        }
                        
                        strcpy( command->strCommand, tok.GetToken() );                    
                    }
                    else if( tok.CheckToken( "command" ) )
                    {
                        if( !tok.CheckToken( "=" ) )
                        {
                        } 
//.........这里部分代码省略.........
开发者ID:KoenVerheyen,项目名称:openmugen,代码行数:101,代码来源:cmdManager.cpp


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