#ifndef _INIFILEMANAGER_H #define _INIFILEMANAGER_H #include "UtilityGlobal.h" #include #include #include #include #include #include #include "PathUtil.h" #include class UTILITY_API IniFileManager { public: // 获取单例实例的公共静态方法 static IniFileManager& getInstance(); static void setStaticLanguageValue(int iValue) { m_iLanguage = iValue; } static int getStaticLanguageValue() { return m_iLanguage; } int getLanguage(); int getLanguage(const std::string& section, const std::string& key); bool setLanguage(const std::string& section, const std::string& key,std::string value); bool setValueEx(const std::string& section, const std::string& key,std::string value); std::string getPath(const std::string& section, const std::string& key); // 禁止复制构造函数和赋值运算符 IniFileManager(const IniFileManager&) = delete; IniFileManager& operator=(const IniFileManager&) = delete; // 读取 INI 文件 bool loadFile(const std::string& filePath); // 写入 INI 文件 bool saveFile(const std::string& filePath) const ; // 获取键的值 std::string getValue(const std::string& section, const std::string& key) const ; // 设置键的值 void setValue(const std::string& section, const std::string& key, const std::string& value) ; private: bool isNumber(const std::string& str) ; // 私有构造函数 IniFileManager() = default; static int m_iLanguage; //次值与ini 同步 // 数据存储 std::unordered_map> data_; }; #endif // _TURBINEDB_H