C++对ini配置文件与xml配置文件的读写
2014-11-20 14:43
489 查看
1、ini文件的读写
在游戏与软件开发过程中,我们经常会使用ini的配置文件,为游戏或软件配置相关的参数,因此就有必要对ini文件进行读写操作。
下面介绍C++在读写ini文件中,常用到的几个函数:
1) 读.ini文件:
2)写.ini文件
MAX_PATH:是微软最大路径占的字节所设的宏
读取ini文件函数
ini文件配置示例:
[Config]
RoomNum=100
2、xml文件的读写
xml文件与ini文件一样,在游戏与软件开发的过程中,能进行配置相关的属性,只需要对xml进行修改就可以进行游戏与软件的相关配置,因此在开发过程中也很有必要对xml文件进行读写操作。
在C++中,对xml文件进行读写可以使用一个工具类rapidXml,这个工具类具体文件如图所示:
具体的源码可以到这里进行下载:点击打开链接
使用rapidXml对xml文件进行读写的方法可以参考:点击打开链接
除了使用rapidXml进行xml文件的读写外,还可以使用另外一个工具类进行读写xml文件,那就是tinyxml工具类,这个工具只有两个文件tinystr.h和tinyxml.h。
具体源码可以到这里进行下载:点击打开链接
下面将介绍如何使用tinyxml进行xml文件的读写:
假设xml配置文件的内容为:
1)读xml文件
2)写xml文件
在游戏与软件开发过程中,我们经常会使用ini的配置文件,为游戏或软件配置相关的参数,因此就有必要对ini文件进行读写操作。
下面介绍C++在读写ini文件中,常用到的几个函数:
1) 读.ini文件:
DWORD GetPrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名 LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedString LPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区 DWORD nSize, // lpReturnedString的缓冲区大小 LPCTSTR lpFileName // INI文件的路径 );
UINT GetPrivateProfileInt( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名 INT nDefault, // 如果没有找到指定的数据返回,则把个变量值赋给返回值 LPCTSTR lpFileName // INI文件的路径 );
2)写.ini文件
BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名 LPCTSTR lpString, // 键值,也就是数据 LPCTSTR lpFileName // INI文件的路径 );
MAX_PATH:是微软最大路径占的字节所设的宏
读取ini文件函数
void ReadIniInfo(const char* szRoomName) { //构梏ini文件路径 CString strFileName,str; str.Format(TEXT("%s.ini"),szRoomName); char szPath[MAX_PATH]; GetCurrentDirectory(MAX_PATH, szPath); strFileName.Format(TEXT("%s\\%s"), szPath, str); //读取ini文件信息 int m_nRoomNum = GetPrivateProfileInt(TEXT("Config"), TEXT("RoomNum"), 0, strFileName); }
ini文件配置示例:
[Config]
RoomNum=100
2、xml文件的读写
xml文件与ini文件一样,在游戏与软件开发的过程中,能进行配置相关的属性,只需要对xml进行修改就可以进行游戏与软件的相关配置,因此在开发过程中也很有必要对xml文件进行读写操作。
在C++中,对xml文件进行读写可以使用一个工具类rapidXml,这个工具类具体文件如图所示:
具体的源码可以到这里进行下载:点击打开链接
使用rapidXml对xml文件进行读写的方法可以参考:点击打开链接
除了使用rapidXml进行xml文件的读写外,还可以使用另外一个工具类进行读写xml文件,那就是tinyxml工具类,这个工具只有两个文件tinystr.h和tinyxml.h。
具体源码可以到这里进行下载:点击打开链接
下面将介绍如何使用tinyxml进行xml文件的读写:
假设xml配置文件的内容为:
<?xml version="1.0" encoding="gb2312"?> <Root> <Config RoomId="10" RoomName="游戏房间“> </Config> </Root>
1)读xml文件
void readXml() { TiXmlDocument TiDoc; TiDoc.LoadFile("config.xml"); TiXmlElement * pRoot = TiDoc.RootElement(); for(TiXmlElement * pElem = pRoot->FirstChildElement("Config");pElem != NULL; pElem = pElem->NextSiblingElement("Config")) { int roomId = atoi(pElem->Attribute("RoomId")); std::string roomName = pElem->Attribute("RoomName"); } }
2)写xml文件
void writeXml() { TiXmlDocument TiDoc("config.xml"); TiXmlDeclaration declaration("1.0", "gb2312", "yes"); doc.InsertEndChild(declaration); TiXmlElement pRootElem("Root"); TiXmlElement pElem("Config"); pElem.SetAttribute("RoomId", 10); pElem.SetAttribute("RoomName", "游戏房间"); pRootElem.InsertEndChild(pElem); TiDoc.InsertEndChild(pRootElem); TiXmlElement * pRoot = TiDoc.RootElement(); }
相关文章推荐
- C++ stl 读写ini配置文件
- VC使用tinyxml读写INI,cfg,XML配置文件
- C++读写INI配置文件的类实例
- VC使用tinyxml读写INI,cfg,XML配置文件
- C++针对ini配置文件读写大全
- C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- XML配置文件读写 C++
- VC使用tinyxml读写INI,cfg,XML配置文件
- C++[类设计] ini配置文件读写类config
- c#通用配置文件读写类与格式转换(xml,ini,json)
- C++读写ini配置文件
- C++读写ini配置文件
- C++读写ini配置文件
- C++读写ini配置文件GetPrivateProfileString()&WritePrivateProfileString()
- C++读写ini配置文件
- C++针对ini配置文件读写大全
- 用于读写 INI 配置文件的 C++ 类
- C++针对ini配置文件读写大全
- 【C++】读写ini配置文件
- C++读写ini配置文件