今天折腾一下怎么读写配置文件,搞明白profilestring
这个东西,感觉还挺有意思,跟大家分享一下哈。
一开始我是想把一些配置信息,比如服务器地址、端口号这些,直接写在程序里。但后来一想,这不行,万一哪天服务器换,我还得重新编译程序,太麻烦。
所以我就琢磨着,得把这些配置信息放到一个单独的文件里,用的时候直接从文件里读,改的时候也直接改文件,多方便!
然后我就去网上搜搜,发现Windows下可以用.ini
文件来干这事儿。这.ini
文件说白就是个文本文件,但它有自己的格式,就是分成一段一段的,每段里再写上一个个的键值对。
比如说,我可以建一个叫的文件,里面写上:
[Server]
Address=192.168.1.100
Port=8080
你看,这不就清清楚楚嘛
然后,我就开始研究怎么用代码来读写这个.ini
文件。Windows提供两个函数,一个叫WritePrivateProfileString
,用来写配置;一个叫GetPrivateProfileString
,用来读配置。我试一下,还真行!
我先用WritePrivateProfileString
往里写点东西:
写入配置
WritePrivateProfileString("数据库配置","地址","192.168.1.123","./*");
WritePrivateProfileString("数据库配置","端口","8080","./*");
然后,我又用GetPrivateProfileString
把刚才写的东西读出来,并在控制台里显示:
读取配置
char szBuffer[MAX_PATH] = {0};
GetPrivateProfileString("数据库配置","地址","我是默认值",szBuffer,sizeof(szBuffer),"./*");
printf(szBuffer);
运行结果一切正常,我想要的东西都显示出来!
这只是最简单的用法。这两个函数还有好多参数,可以实现更复杂的功能。不过对我来说,目前这些就够用。
今天这一番折腾,总算是把配置文件的读写给搞定。以后再也不用担心改个配置还得重新编译程序,想想都觉得美滋滋!