您的位置:首页 > 其它

学习笔记之一读写配置文件(ini)

2014-04-30 00:15 381 查看
/***********************配置文件结构*************************************/
/*      [姓名]                                                          */
/*	name1 = zhangsan						*/
/*	name2 = lisi							*/
/*	[性别]								*/
/*	student1 = girl							*/
/************************************************************************/
---取自网络
INI文件的格式很简单,最基本的三个要素是:parameters,sections和comments。

什么是parameters?

INI所包含的最基本的“元素”就是parameter;每一个parameter都有一个name和一个value,name和value是由等号“=”隔开。name在等号的左边。

如:

name = value

什么是sections ?

所有的parameters都是以sections为单位结合在一起的。所有的section名称都是独占一行,并且sections名字都被方括号包围着([ and ])。在section声明后的所有parameters都是属于该section。对于一个section没有明显的结束标志符,一个section的开始就是上一个section的结束,或者是end of the file。Sections一般情况下不能被nested,当然特殊情况下也可以实现sections的嵌套。

section如下所示:

[section]

什么是comments ?

在INI文件中注释语句是以分号“;”开始的。所有的所有的注释语句不管多长都是独占一行直到结束的。在分号和行结束符之间的所有内容都是被忽略的。

注释实例如下:;-----
读配置文件:
取字符串:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName,----INI文件中的一个字段名,如“姓名”,“性别”
LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名,如“name1”
LPCTSTR lpDefaut ----------如果没有其前两个参数值,则将此值赋给变量
LPCTSTR lpString ---------是键值,也就是变量的值, 必须为LPCTSTR或CString类型
DWORD nSize ------接收缓冲区的大小
LPCTSTR lpFileName --------完整的INI文件路径名
)
取整数:
UINT GetPrivateProfileInt(
LPCTSTR lpAppName ------- INI文件中的一个字段名
LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名
INT nDefault-------如果前两个参数没有值,则将此值附给变量
LPCTSTR lpFileName --------完整的INI文件路径名
)

写配置文件:
bool WritePrivateProfileString(
LPCTSTR lpAppName ------- INI文件中的一个字段名
LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString ---------是键值,也就是变量的值, 必须为LPCTSTR或CString类型
LPCTSTR lpFileName --------完整的INI文件路径名
)

举例:
TCHAR	szPath[MAX_PATH+1] = {0};
GetModuleFileName( NULL, szPath, MAX_PATH ); //获取exe路径
(_tcsrchr( szPath, _T('\\')))[1] = 0;	//去除exe文件名,得到其所在文件夹路径
CString str_url = szPath + _T("config.ini");	//配置文件路径

//读配置文件
CString csStr;
//获取“[姓名]”下的“name1”
GetPrivateProfileString( _T("姓名"), _T("name1"), _T("zhangsan"), csStr.GetBuffer(MAX_PATH), MAX_PATH, str_url.GetBuffer(0));

//写配置文件
CString csWr = _T("boy");
//将“boy”赋值给[性别]下的"student1"
WritePrivateProfileString( _T("性别"), _T("student1"), csWr.GetBuffer(0), str_url.GetBuffer(0) );









                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vc ini