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

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

?? simpleini.h

?? This code is Address book code for Windows Mobile. This source code support windows mobile 5.0 over.
?? H
?? 第 1 頁 / 共 5 頁
字號:
        FileWriter(FILE * a_file) : m_file(a_file) { }
        void Write(const char * a_pBuf) {
            fputs(a_pBuf, m_file);
        }
    private:
        FileWriter(const FileWriter &);             // disable
        FileWriter & operator=(const FileWriter &); // disable
    };

    /** OutputWriter class to write the INI data to a string */
    class StringWriter : public OutputWriter {
        std::string & m_string;
    public:
        StringWriter(std::string & a_string) : m_string(a_string) { }
        void Write(const char * a_pBuf) {
            m_string.append(a_pBuf);
        }
    private:
        StringWriter(const StringWriter &);             // disable
        StringWriter & operator=(const StringWriter &); // disable
    };

#ifdef SI_SUPPORT_IOSTREAMS
    /** OutputWriter class to write the INI data to an ostream */
    class StreamWriter : public OutputWriter {
        std::ostream & m_ostream;
    public:
        StreamWriter(std::ostream & a_ostream) : m_ostream(a_ostream) { }
        void Write(const char * a_pBuf) {
            m_ostream << a_pBuf;
        }
    private:
        StreamWriter(const StreamWriter &);             // disable
        StreamWriter & operator=(const StreamWriter &); // disable
    };
#endif // SI_SUPPORT_IOSTREAMS

    /** Characterset conversion utility class to convert strings to the
        same format as is used for the storage.
    */
    class Converter : private SI_CONVERTER {
    public:
        Converter(bool a_bStoreIsUtf8) : SI_CONVERTER(a_bStoreIsUtf8) {
            m_scratch.resize(1024);
        }
        Converter(const Converter & rhs) { operator=(rhs); }
        Converter & operator=(const Converter & rhs) {
            m_scratch = rhs.m_scratch;
            return *this;
        }
        bool ConvertToStore(const SI_CHAR * a_pszString) {
            size_t uLen = SizeToStore(a_pszString);
            if (uLen == (size_t)(-1)) {
                return false;
            }
            while (uLen > m_scratch.size()) {
                m_scratch.resize(m_scratch.size() * 2);
            }
            return SI_CONVERTER::ConvertToStore(
                a_pszString,
                const_cast<char*>(m_scratch.data()),
                m_scratch.size());
        }
        const char * Data() { return m_scratch.data(); }
    private:
        std::string m_scratch;
    };

public:
    /*-----------------------------------------------------------------------*/

    /** Default constructor.

        @param a_bIsUtf8     See the method SetUnicode() for details.
        @param a_bMultiKey   See the method SetMultiKey() for details.
        @param a_bMultiLine  See the method SetMultiLine() for details.
     */
    CSimpleIniTempl(
        bool a_bIsUtf8 = false,
        bool a_bMultiKey = false,
        bool a_bMultiLine = false
        );

    /** Destructor */
    ~CSimpleIniTempl();

    /** Deallocate all memory stored by this object */
    void Reset();

    /*-----------------------------------------------------------------------*/
    /** @{ @name Settings */

    /** Set the storage format of the INI data. This affects both the loading
        and saving of the INI data using all of the Load/Save API functions.
        This value cannot be changed after any INI data has been loaded.

        If the file is not set to Unicode (UTF-8), then the data encoding is
        assumed to be the OS native encoding. This encoding is the system
        locale on Linux/Unix and the legacy MBCS encoding on Windows NT/2K/XP.
        If the storage format is set to Unicode then the file will be loaded
        as UTF-8 encoded data regardless of the native file encoding. If
        SI_CHAR == char then all of the char* parameters take and return UTF-8
        encoded data regardless of the system locale.

        \param a_bIsUtf8     Assume UTF-8 encoding for the source?
     */
    void SetUnicode(bool a_bIsUtf8 = true) {
        if (!m_pData) m_bStoreIsUtf8 = a_bIsUtf8;
    }

    /** Get the storage format of the INI data. */
    bool IsUnicode() const { return m_bStoreIsUtf8; }

    /** Should multiple identical keys be permitted in the file. If set to false
        then the last value encountered will be used as the value of the key.
        If set to true, then all values will be available to be queried. For
        example, with the following input:

        <pre>
        [section]
        test=value1
        test=value2
        </pre>

        Then with SetMultiKey(true), both of the values "value1" and "value2"
        will be returned for the key test. If SetMultiKey(false) is used, then
        the value for "test" will only be "value2". This value may be changed
        at any time.

        \param a_bAllowMultiKey  Allow multi-keys in the source?
     */
    void SetMultiKey(bool a_bAllowMultiKey = true) {
        m_bAllowMultiKey = a_bAllowMultiKey;
    }

    /** Get the storage format of the INI data. */
    bool IsMultiKey() const { return m_bAllowMultiKey; }

    /** Should data values be permitted to span multiple lines in the file. If
        set to false then the multi-line construct <<<TAG as a value will be
        returned as is instead of loading the data. This value may be changed
        at any time.

        \param a_bAllowMultiLine     Allow multi-line values in the source?
     */
    void SetMultiLine(bool a_bAllowMultiLine = true) {
        m_bAllowMultiLine = a_bAllowMultiLine;
    }

    /** Query the status of multi-line data */
    bool IsMultiLine() const { return m_bAllowMultiLine; }

    /*-----------------------------------------------------------------------*/
    /** @}
        @{ @name Loading INI Data */

    /** Load an INI file from disk into memory

        @param a_pszFile    Path of the file to be loaded. This will be passed
                            to fopen() and so must be a valid path for the
                            current platform.

        @return SI_Error    See error definitions
     */
    SI_Error LoadFile(
        const char * a_pszFile
        );

#ifdef SI_HAS_WIDE_FILE
    /** Load an INI file from disk into memory

        @param a_pwszFile   Path of the file to be loaded in UTF-16.

        @return SI_Error    See error definitions
     */
    SI_Error LoadFile(
        const SI_WCHAR_T * a_pwszFile
        );
#endif // SI_HAS_WIDE_FILE

    /** Load the file from a file pointer.

        @param a_fpFile     Valid file pointer to read the file data from. The
                            file will be read until end of file.

        @return SI_Error    See error definitions
    */
    SI_Error LoadFile(
        FILE * a_fpFile
        );

#ifdef SI_SUPPORT_IOSTREAMS
    /** Load INI file data from an istream.

        @param a_istream    Stream to read from

        @return SI_Error    See error definitions
     */
    SI_Error Load(
        std::istream & a_istream
        );
#endif // SI_SUPPORT_IOSTREAMS

    /** Load INI file data direct from a std::string

        @param a_strData    Data to be loaded

        @return SI_Error    See error definitions
     */
    SI_Error Load(const std::string & a_strData) {
        return Load(a_strData.c_str(), a_strData.size());
    }

    /** Load INI file data direct from memory

        @param a_pData      Data to be loaded
        @param a_uDataLen   Length of the data in bytes

        @return SI_Error    See error definitions
     */
    SI_Error Load(
        const char *    a_pData,
        size_t          a_uDataLen
        );

    /*-----------------------------------------------------------------------*/
    /** @}
        @{ @name Saving INI Data */

    /** Save an INI file from memory to disk

        @param a_pszFile    Path of the file to be saved. This will be passed
                            to fopen() and so must be a valid path for the
                            current platform.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is
                            in UTF-8 format. If it is not UTF-8 then
                            this parameter is ignored.

        @return SI_Error    See error definitions
     */
    SI_Error SaveFile(
        const char *    a_pszFile,
        bool            a_bAddSignature = true
        ) const;

#ifdef SI_HAS_WIDE_FILE
    /** Save an INI file from memory to disk

        @param a_pwszFile   Path of the file to be saved in UTF-16.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is
                            in UTF-8 format. If it is not UTF-8 then
                            this parameter is ignored.

        @return SI_Error    See error definitions
     */
    SI_Error SaveFile(
        const SI_WCHAR_T *  a_pwszFile,
        bool                a_bAddSignature = true
        ) const;
#endif // _WIN32

    /** Save the INI data to a file. See Save() for details.

        @param a_pFile      Handle to a file. File should be opened for
                            binary output.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is in
                            UTF-8 format. If it is not UTF-8 then this value is
                            ignored. Do not set this to true if anything has
                            already been written to the file.

        @return SI_Error    See error definitions
     */
    SI_Error SaveFile(
        FILE *  a_pFile,
        bool    a_bAddSignature = false
        ) const;

    /** Save the INI data. The data will be written to the output device
        in a format appropriate to the current data, selected by:

        <table>
            <tr><th>SI_CHAR     <th>FORMAT
            <tr><td>char        <td>same format as when loaded (MBCS or UTF-8)
            <tr><td>wchar_t     <td>UTF-8
            <tr><td>other       <td>UTF-8
        </table>

        Note that comments from the original data is preserved as per the
        documentation on comments. The order of the sections and values
        from the original file will be preserved.

        Any data prepended or appended to the output device must use the the
        same format (MBCS or UTF-8). You may use the GetConverter() method to
        convert text to the correct format regardless of the output format
        being used by SimpleIni.

        To add a BOM to UTF-8 data, write it out manually at the very beginning
        like is done in SaveFile when a_bUseBOM is true.

        @param a_oOutput    Output writer to write the data to.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is in
                            UTF-8 format. If it is not UTF-8 then this value is
                            ignored. Do not set this to true if anything has
                            already been written to the OutputWriter.

        @return SI_Error    See error definitions
     */
    SI_Error Save(
        OutputWriter &  a_oOutput,
        bool            a_bAddSignature = false
        ) const;

#ifdef SI_SUPPORT_IOSTREAMS
    /** Save the INI data to an ostream. See Save() for details.

        @param a_ostream    String to have the INI data appended to.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is in
                            UTF-8 format. If it is not UTF-8 then this value is
                            ignored. Do not set this to true if anything has
                            already been written to the stream.

        @return SI_Error    See error definitions
     */
    SI_Error Save(
        std::ostream &  a_ostream,
        bool            a_bAddSignature = false
        ) const
    {
        StreamWriter writer(a_ostream);
        return Save(writer, a_bAddSignature);
    }
#endif // SI_SUPPORT_IOSTREAMS

    /** Append the INI data to a string. See Save() for details.

        @param a_sBuffer    String to have the INI data appended to.

        @param a_bAddSignature  Prepend the UTF-8 BOM if the output data is in
                            UTF-8 format. If it is not UTF-8 then this value is
                            ignored. Do not set this to true if anything has
                            already been written to the string.

        @return SI_Error    See error definitions
     */
    SI_Error Save(
        std::string &   a_sBuffer,
        bool            a_bAddSignature = false
        ) const
    {
        StringWriter writer(a_sBuffer);
        return Save(writer, a_bAddSignature);
    }

    /*-----------------------------------------------------------------------*/
    /** @}
        @{ @name Accessing INI Data */

    /** Retrieve all section names. The list is returned as an STL vector of
        names and can be iterated or searched as necessary. Note that the
        collation order of the returned strings is NOT DEFINED.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区激情小说| 92精品国产成人观看免费 | 久久av资源网| 性感美女久久精品| 天堂精品中文字幕在线| 舔着乳尖日韩一区| 免费久久精品视频| 欧美日韩在线亚洲一区蜜芽| 日本福利一区二区| 欧美日韩一区二区三区四区| 在线成人免费视频| 精品国产精品网麻豆系列 | 国产精品久久久久久亚洲伦| 国产三级精品在线| 亚洲乱码中文字幕| 午夜久久久久久电影| 久久精工是国产品牌吗| 国产精品一区三区| 99视频一区二区| 7777精品伊人久久久大香线蕉 | 国产999精品久久久久久绿帽| 成人丝袜视频网| 97精品久久久午夜一区二区三区| 欧美伊人精品成人久久综合97| 91精品国产一区二区三区蜜臀| 亚洲精品一区二区三区在线观看 | 亚洲精品国产第一综合99久久| 亚洲二区在线观看| 国产乱码精品一品二品| 99re热这里只有精品视频| 欧美日韩一卡二卡| 久久久久久日产精品| 亚洲精品免费视频| 国内精品免费在线观看| 色婷婷精品久久二区二区蜜臀av| 欧美一级黄色录像| 亚洲乱码国产乱码精品精小说 | 日韩欧美中文字幕公布| 国产日韩精品一区二区浪潮av| 亚洲宅男天堂在线观看无病毒| 精品一二三四区| 欧美亚洲一区二区在线| 欧美国产精品专区| 日本vs亚洲vs韩国一区三区| 色综合色狠狠综合色| 精品少妇一区二区| 日本va欧美va精品发布| 色综合欧美在线| 久久久不卡影院| 日本欧美一区二区三区| 欧美性三三影院| 国产精品理伦片| 国模少妇一区二区三区| 欧美人与z0zoxxxx视频| 亚洲美女偷拍久久| 国产·精品毛片| 欧美精品一区视频| 天堂蜜桃91精品| 欧美日韩精品电影| 亚洲一区二区偷拍精品| 91色porny| 亚洲乱码日产精品bd| a美女胸又www黄视频久久| 国产日产亚洲精品系列| 国产精品一区在线观看你懂的| 欧美成人一区二区三区片免费| 亚洲一区在线观看免费| 欧美在线免费观看亚洲| 亚洲激情在线激情| 日本大香伊一区二区三区| 中文字幕在线不卡一区| 99在线精品视频| 国产精品嫩草影院com| 国产成人午夜片在线观看高清观看| 欧美精品一区二区在线观看| 九九久久精品视频| 久久免费的精品国产v∧| 国产在线观看免费一区| 久久久美女毛片| 大胆亚洲人体视频| 日韩理论片网站| 在线观看欧美精品| 五月综合激情日本mⅴ| 91精品国产91综合久久蜜臀| 免费在线视频一区| 久久久久久久精| 91视频在线看| 日韩二区三区在线观看| 精品成人一区二区三区| 国产福利电影一区二区三区| 中文字幕亚洲一区二区av在线| 色婷婷综合久久久久中文 | 日韩成人一区二区三区在线观看| 欧美一区二区免费观在线| 美日韩一级片在线观看| 久久欧美一区二区| www.亚洲免费av| 一区二区免费看| 亚洲精品亚洲人成人网在线播放| 欧美视频一区二区在线观看| 日本在线不卡视频一二三区| 国产视频一区在线观看| 91国内精品野花午夜精品| 麻豆一区二区三| 一区精品在线播放| 91精品国产色综合久久不卡电影 | 日韩精品一区二区在线观看| 成人国产精品免费观看| 亚洲综合视频在线观看| 日韩一级成人av| av在线一区二区三区| 日本中文字幕一区二区有限公司| 国产精品毛片高清在线完整版| 在线一区二区视频| 国产精品一二三四区| 亚洲一卡二卡三卡四卡五卡| 久久免费看少妇高潮| 欧美日韩精品一区二区三区蜜桃| 国产馆精品极品| 美女任你摸久久| 亚洲一区二区三区中文字幕| 欧美激情综合在线| 日韩欧美国产系列| 欧美日韩成人一区| 99热这里都是精品| 韩国理伦片一区二区三区在线播放| 亚洲激情av在线| 中文字幕在线观看一区二区| 欧美大片在线观看一区| 一本色道综合亚洲| 国产成人精品一区二区三区四区| 视频一区中文字幕| 亚洲丶国产丶欧美一区二区三区| 国产日韩在线不卡| 2020国产精品久久精品美国| 欧美精品vⅰdeose4hd| 91蜜桃免费观看视频| 成人美女视频在线观看18| 九九**精品视频免费播放| 午夜精品久久久久久| 一区二区三区视频在线观看| 亚洲天堂精品在线观看| 国产欧美一二三区| 久久久久久97三级| 欧美成人video| 日韩欧美国产精品| 日韩欧美色综合| 欧美大黄免费观看| 欧美不卡一区二区三区四区| 91精选在线观看| 亚洲人成精品久久久久久| 亚洲国产精品黑人久久久| 国产亚洲精品福利| 中文成人综合网| 中文字幕一区二区视频| 18涩涩午夜精品.www| 亚洲素人一区二区| 一区二区三区欧美日韩| 一区二区久久久久久| 午夜不卡av免费| 日本不卡一二三区黄网| 久久99精品国产麻豆不卡| 久久er精品视频| 国产成人aaaa| 色视频一区二区| 欧美日韩视频专区在线播放| 欧美一区午夜精品| 久久亚洲二区三区| 国产精品不卡视频| 亚洲一区二区三区在线看 | 2020国产精品自拍| 国产欧美日本一区视频| 亚洲欧美在线aaa| 亚洲成a人v欧美综合天堂下载 | 99视频国产精品| 欧美日韩国产综合久久| 精品成人在线观看| 亚洲美女一区二区三区| 麻豆精品视频在线观看免费| 岛国一区二区在线观看| 91黄色在线观看| 精品国产一二三区| 亚洲欧洲国产日本综合| 免费成人在线影院| gogogo免费视频观看亚洲一| 欧美日韩的一区二区| 久久精品视频免费| 午夜精品久久一牛影视| 国产综合色产在线精品 | 丝袜美腿亚洲一区| 国产成人在线视频网站| 欧美无人高清视频在线观看| 日韩欧美中文字幕一区| 亚洲激情图片小说视频| 国产一区欧美二区| 欧美精品在线一区二区| 中文字幕中文在线不卡住| 精品亚洲国产成人av制服丝袜| 色婷婷av一区二区三区gif | 色婷婷综合久久久中文一区二区|