Files
2026-07-09 11:27:59 +08:00

56 lines
1.2 KiB
C++

//---------------------------------------------------------------------------
#ifndef INIParserH
#define INIParserH
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <cstdlib>
#include <map>
using namespace std;
//INI文件结点存储结构
class ININode
{
public:
ININode(string root, string key, string value)
{
this->root = root;
this->key = key;
this->value = value;
}
string root;
string key;
string value;
};
//键值对结构体
class SubNode
{
public:
void InsertElement(string key, string value)
{
sub_node.insert(pair<string, string>(key, value));
}
map<string, string> sub_node;
};
//主要的INIParser类
class INIParser
{
public:
int ReadINI(string path);
string GetValue(string root, string key);
vector<ININode>::size_type GetSize(){return map_ini.size();}
vector<ININode>::size_type SetValue(string root, string key, string value);
int WriteINI(string path);
void Clear(){map_ini.clear();}
private:
map<string, SubNode> map_ini;
};
#endif