cocos2d-x开发: 一切应该从配置文件读取开始(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:33 点击:

p>29         bool getBoolean(const std::string& section, const std::string& key, bool defalutValue);

p>30     protected:

p>31         void trimString(std::string& buffer, const std::string& trim, bool isAll);

p>32         void parseLine(const std::string& buffer);

p>33         std::string parseSection(const std::string& buffer, const std::string& leftTag, const std::string& rightTag);

p>34         bool stringToBoolean(const std::string& buffer, bool defaultValue);

p>35 

p>36         typedef std::map<std::string, std::string> KVtype;

p>37         typedef std::map<std::string, KVtype>       SKVtype;

p>38 

p>39         std::string M_filePath_;        

p>40         std::string M_currentSection_;  

p>41         SKVtype        propsMap_;            

p>42     };

p>43 }

p>44 #endif//__xy_INICache_INCLUDE__

p> 

p> 

p> 

p>实现部分的代码如下,如果需要看的,可以自行查看.

p> 

p>  1 #include "INICache.h"

p>  2 #include <fstream>

p>  3 #include <sstream>

p>  4 namespace xy

p>  5 {

p>  6     INICache::INICache()

p>  7     {

p>  8     }

p>  9     INICache::~INICache()

p> 10     {

p> 11         if(!this->propsMap_.empty()) { this->propsMap_.clear(); }

p> 12     }

p> 13     INICache* INICache::createFromFile(const std::string& filePath)

p> 14     {

p> 15         INICache* pINICache = new INICache;

p> 16         if(!pINICache->loadFromFile(filePath))

p> 17         {

p> 18             delete pINICache;

p> 19             return NULL;

p> 20         }

p> 21         return pINICache;

p> 22     }

p> 23     bool INICache::loadFromFile(const std::string& filePath)

p> 24     {

p> 25         std::ifstream fin(filePath.c_str());

p> 26         if(!fin.is_open()) { return false; }

p> 27         

p> 28         std::string lineBuffer;

p> 29         while(!fin.eof())

p> 30         {

p> 31             std::getline(fin, lineBuffer);

p> 32             this->trimString(lineBuffer, std::string(" "), true);
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  •  Cocos2d-x初学指南(5): Tiled Map的使用(视角移动,碰撞检测)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1