VC++读写ini文件(按struct来读写)

作者: admin 分类: 未分类 发布时间: 2019-10-22 22:15

很多时候我们写程序都要用到配置文件,也就是ini文件。它可以很容易的把一些常用的数据直接显示到界面上,不必用户每次都输这些数据。当然普通的读写ini文件我不介绍,网上一大堆。

    普通的读写ini文件有个个人认为很麻烦的地方,就是每个数据都要写一遍或者读一遍。所有为了需要我就是用一个结构体把数据装起来,直接写入ini文件。需要显示到界面时,再一次性把一个结构体数据从ini读取出来,这样子不需要一个一个去写和读。当然用结构体也有个弊端,等等再说。

    实现过程,当然首先要定义一个结构体,然后结构体的成员都赋值好。

    然后使用WritePrivateProfileStruct函数。

    WritePrivateProfileStruct(_T(“struct”), _T(“Send”), &XXXX, sizeof(XXXX), “ini地址”);//XXXX为struct的对象。

    上面函数第一个参数为ini文件的section名,第二个参数为配置文件的key名,第三个为结构体对象的地址,第四个为结构体的长度。

    使用它就可以吧一个结构体写入到ini文件中了。但是你如果查看ini文件就会发现,里面是这样子的:

[struct]

Send=后面为乱码。

所有这就是我刚才说的它的弊端。也就是说你无法修改即将显示在界面的数据,它只能够显示上一次保存的数据。

当然这个对结构体也有要求,成员不能有指针,也就是CString啊,LPBYTE这些都不能使用,可以使用char数组或者TCHAR数组代替前面的。

好了,现在读取ini文件数据了,使用GetPrivateProfileStruct函数。用法和写入是一样的。当然用之前你得先创建一个结构体对象来存储读取出来的数据。

当然我们一般使用ini文件都是为了修改显示数据,所有不建议使用这个方法。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

标签云