C++读写ini配置文件

本文详细介绍了在VC环境下使用写入和读取INI文件的函数,包括如何设置INI文件路径、写入键值对、读取数据及处理相对路径与绝对路径的区别。并提供了实例代码演示。

转自:http://blog.sina.com.cn/s/blog_4d11e5f20100fm2s.html


配置文件中经常用到ini文件,在VC中其函数分别为:

写入.ini文件:

BOOL WritePrivateProfileString(
LPCTSTR
lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名

LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名

LPCTSTR lpString, // 键值,也就是数据

LPCTSTR lpFileName // INI文件的路径
);

读取.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文件的路径

);


读写INI文件时相对路径和绝对路径都可以,根据实际情况选择

"..\\IniFileName.ini" // 这样的为相对路径

"D:\\IniFileName.ini" // 这样的为绝对路径

MAX_PATH:是微软最大路径占的字节所设的宏

例子:

写INI文件:

LPTSTR lpPath = new char[MAX_PATH];

strcpy(lpPath, "D:\\IniFileName.ini");

WritePrivateProfileString("LiMing", "Sex", "Man", lpPath);
WritePrivateProfileString("LiMing", "Age", "20", lpPath);

WritePrivateProfileString("Fangfang", "Sex", "Woman", lpPath);
WritePrivateProfileString("Fangfang", "Age", "21", lpPath);

delete [] lpPath;

INI文件如下:

[LiMing]
Sex=Man
Age=20
[Fangfang]
Sex=Woman
Age=21

读INI文件:

LPTSTR lpPath = new char[MAX_PATH];
LPTSTR LiMingSex = new char[6];
int LiMingAge;
LPTSTR FangfangSex = new char[6];
int FangfangAge;

strcpy(lpPath, "..\\IniFileName.ini");

GetPrivateProfileString("LiMing", "Sex", "", LiMingSex, 6, lpPath);
LiMingAge = GetPrivateProfileInt("LiMing", "Age", 0, lpPath);

GetPrivateProfileString("Fangfang", "Sex", "", FangfangSex, 6, lpPath);
FangfangAge = GetPrivateProfileInt("Fangfang", "Age", 0, lpPath);

delete [] lpPath;


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值