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);
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>