青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

專職C++

不能停止的腳步

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用鏈接

留言簿(28)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

在用vs開發cocos2dx過程中,要顯示的中文,要求是UTF-8格式的才能正常顯示出來,但VS一般是ANSI格式保存,這樣,在代碼中寫入的中文字符串,運行后,顯示的就是亂碼。
為了正確顯示中文,或支持多語言,我這里定義一個簡單的字符串管理類,來滿足上述要求。
這個類使用了我的開源代碼中的XAnsiString和XMap,TextIni這幾個類,可以在我的開放代碼找到下載。
下面是代碼://字符串資源管理器
#ifndef _X_STRING_MANAGER_H_
#define _X_STRING_MANAGER_H_
#include <xstring.h>
#include <xini.h>
#include <xmap.h>
#include <xset.h>
#include <xsingleton.h>
namespace zdh
{
    typedef XMap<XAnsiString, XAnsiString> TStringKeyValue;
    typedef XMap<XAnsiString, TStringKeyValue> TStringSection;

    class XStringMgr
    {
    public:
        XStringMgr()
        {}
        ~XStringMgr()
        {
            m_Map.Clear();
        }
        XInt Load(const XAnsiString & paramFileName, bool paramClear = true)
        {
            if (paramClear) m_Map.Clear();
            XIniText stIni;
            if (!stIni.Load(paramFileName)) return ERR_FAIL;
            for (int i = 0; i < stIni.getSectionCount(); i++)
            {
                XIniText::TSection * pSection = stIni.getSection(i);
                
                TStringKeyValue & stKeyValue = m_Map[pSection->getSectionName()];
                for (int j = 0; j < pSection->getLength(); j++)
                {
                    XIniText::TEntry * pEntry = pSection->getEntry(j);
                    if (isNULL(pEntry)) continue;
                    if (pEntry->getEntryType() != EIET_COMMON_ENTRY) continue;
                    XIniText::TEntryCommon * pCommonEntry = dynamic_cast<XIniText::TEntryCommon *>(pEntry);
                    if (isNULL(pCommonEntry)) continue;
                    stKeyValue[pCommonEntry->getKey().getField()] = pCommonEntry->getValue().getField();
                }
            }
            return ERR_OK;
        }
        //取指定字符串對象,如果不存在,返回NULL
        const XAnsiString * getStringEx(const XAnsiString & paramSection, const XAnsiString & paramKey)
        {
            int iSectionIndex = m_Map.getIndexBykey(paramSection);
            if (!m_Map.isValidIndex(iSectionIndex)) return NULL;
            const TStringKeyValue & stKeyValue = m_Map.getValue(iSectionIndex);
            int iValueIndex = stKeyValue.getIndexBykey(paramKey);
            if (!stKeyValue.isValidIndex(iValueIndex)) return NULL;
            return &stKeyValue.getValue(iValueIndex);
        }
        //取指定的字符串,如果不存在,則返回空串
        const char * getString(const XAnsiString & paramSection, const XAnsiString & paramKey)
        {
            const XAnsiString * pRet = getStringEx(paramSection, paramKey);
            if (isNULL(pRet)) return "";
            else return pRet->c_str();
        }

        const TStringSection & getMap() const
        {
            return m_Map;
        }

    private:
        TStringSection m_Map;
    };
}
    #define STRING_MGR zdh::XSingletonSample<zdh::XStringMgr, 0>::getInstance()
    #define STRING_SECTION_MAIN "main"
    #define STRING_PLAY (STRING_MGR->getString(STRING_SECTION_MAIN, "play"))
    #define STRING_FONT (STRING_MGR->getString(STRING_SECTION_MAIN, "font"))
#endif
使用例子
    XAnsiString strStringMgrFileName("string_zh.ini");
    if (zdh::isNotOK(STRING_MGR->Load(strStringMgrFileName)))
    {
        STREAM_INFO << "load "<<strStringMgrFileName << "Fail!";
        return false;
    }
    else
    {
        STREAM_INFO << "Load String:" << STRING_PLAY;
    }
posted on 2014-06-30 14:59 冬瓜 閱讀(1285) 評論(0)  編輯 收藏 引用 所屬分類: 原創cocos2dx
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产亚洲精品自拍| 亚洲国产精品一区二区第四页av| 一二三四社区欧美黄| 欧美激情一区二区三区高清视频| 你懂的视频一区二区| 亚洲欧洲综合另类在线| 亚洲激情自拍| 欧美激情按摩| 亚洲在线观看视频网站| 欧美一级淫片aaaaaaa视频| 国产欧美丝祙| 欧美成人精品在线播放| 欧美精品二区| 欧美亚洲日本网站| 久久亚洲精品欧美| 一区二区欧美视频| 午夜精品福利电影| 亚洲人成毛片在线播放女女| 99国内精品久久| 黑丝一区二区| 99re在线精品| 国产一区二区三区在线观看免费视频| 蜜臀a∨国产成人精品| 欧美日韩福利| 久久午夜电影网| 欧美视频网址| 久久婷婷综合激情| 欧美日韩精品二区| 久久免费偷拍视频| 欧美图区在线视频| 久久免费观看视频| 欧美三级中文字幕在线观看| 久久亚洲午夜电影| 国产精品盗摄一区二区三区| 久热精品视频在线| 欧美新色视频| 欧美成人午夜激情视频| 国产欧美日韩视频在线观看| 亚洲国产精品成人精品| 韩国在线一区| 亚洲欧美国产不卡| 亚洲无线一线二线三线区别av| 欧美在线观看视频一区二区三区 | 欧美激情综合在线| 久久久噜噜噜久久久| 欧美日韩日日骚| 免播放器亚洲一区| 国产性做久久久久久| 一本色道久久综合亚洲精品不卡| 在线成人激情视频| 小黄鸭视频精品导航| 亚洲欧美日本视频在线观看| 欧美成人综合在线| 欧美不卡在线| 亚洲电影欧美电影有声小说| 午夜性色一区二区三区免费视频| 亚洲五月六月| 国产精品福利在线观看| 日韩视频在线观看免费| 日韩视频三区| 欧美绝品在线观看成人午夜影视 | 欧美h视频在线| 国产欧美亚洲一区| 中文在线不卡视频| 亚洲欧美国产日韩中文字幕| 欧美日韩国产在线| 亚洲精品在线一区二区| 亚洲免费av网站| 欧美激情一区三区| 亚洲视频在线一区| 亚洲激情在线视频| 一本色道久久综合狠狠躁篇的优点 | 亚洲欧美日韩在线播放| 欧美日韩在线三级| 亚洲图片在线| 久久国产手机看片| 黄色精品一区| 美脚丝袜一区二区三区在线观看 | 亚洲私人黄色宅男| 国产精品久久亚洲7777| 午夜精品影院在线观看| 久久久久久亚洲精品不卡4k岛国| 国一区二区在线观看| 久久―日本道色综合久久| 亚洲大片精品永久免费| 一本一本久久| 国产日韩欧美91| 久久久在线视频| 亚洲国产另类久久精品| 亚洲一本大道在线| 国产一区二区三区奇米久涩| 久久久人人人| 亚洲乱码国产乱码精品精可以看| 亚洲欧美国产毛片在线| 精品电影一区| 欧美精品粉嫩高潮一区二区| 亚洲自拍偷拍网址| 免费日韩视频| 亚洲男女自偷自拍| 136国产福利精品导航网址| 欧美精品电影在线| 欧美在线黄色| 一区二区成人精品| 欧美成人资源网| 亚洲免费影院| 亚洲精品久久7777| 国内久久精品| 欧美色一级片| 久热精品视频在线观看一区| 亚洲图片自拍偷拍| 亚洲电影视频在线| 久久久久综合| 在线视频日韩精品| 亚洲风情在线资源站| 国产精品亚洲一区| 欧美日韩视频不卡| 免费高清在线视频一区·| 亚洲一区制服诱惑| 亚洲精品欧美精品| 欧美国产日韩在线观看| 久久久久久网站| 欧美一级一区| 中文一区字幕| 亚洲精品视频免费观看| 在线观看成人av电影| 国产欧美精品久久| 国产精品黄色在线观看| 免费一级欧美片在线播放| 欧美一区二区视频在线| 一区二区三区 在线观看视| 亚洲高清中文字幕| 欧美大秀在线观看| 欧美h视频在线| 美女精品在线观看| 久久人人97超碰国产公开结果| 亚洲综合另类| 亚洲欧美日韩一区| 亚洲免费视频一区二区| 亚洲性图久久| 亚洲欧美国产日韩天堂区| 一区二区三区高清在线观看| 亚洲人久久久| 亚洲精品社区| 一区二区三区日韩欧美| 亚洲激情网站| 日韩视频一区二区三区在线播放免费观看 | 亚洲线精品一区二区三区八戒| 亚洲美女色禁图| 在线亚洲欧美视频| 亚洲视频在线观看三级| 亚洲一区二区免费看| 亚洲午夜电影在线观看| 亚洲欧美不卡| 久久成年人视频| 久久久久久9| 毛片基地黄久久久久久天堂| 免费日韩成人| 亚洲区第一页| 中文久久乱码一区二区| 香蕉国产精品偷在线观看不卡| 亚洲欧美一区二区在线观看| 午夜一区在线| 蜜桃av一区二区三区| 欧美日韩精品中文字幕| 国产精品美女黄网| 国产亚洲欧美日韩在线一区| **性色生活片久久毛片| 日韩一区二区高清| 亚洲欧美综合精品久久成人| 久久青草欧美一区二区三区| 欧美高清在线播放| 国产精品99久久不卡二区| 欧美一级黄色网| 欧美国产日韩一区二区三区| 欧美日韩高清不卡| 国产日韩欧美高清| 亚洲免费大片| 久久不见久久见免费视频1| 美女91精品| 一区二区久久| 久久亚洲一区二区三区四区| 欧美日韩国产专区| 激情91久久| 亚洲一区日韩| 欧美.www| 香蕉亚洲视频| 欧美视频三区在线播放| 极品少妇一区二区三区| 一区二区三区久久| 免费成人你懂的| 亚洲综合好骚| 欧美电影在线观看完整版| 国产欧美日韩伦理| 一本大道久久a久久综合婷婷| 久久精品成人一区二区三区蜜臀| 亚洲激情网站| 久久久久亚洲综合| 国产三区精品| 亚洲欧美日本视频在线观看| 亚洲国产视频一区|