从配置文件中读取数据--配置文件的创建,读取配置文件
有时候把一些参数写在配置文件中,当需要修改这些参数时只需要在配置文件中修改即可,所以掌握如何使用配置文件很重要。
第一步:写配置文件
先了解配置文件的格式,ini文件由 节、键、值组成。
[section] --------------section处填写节的名字
键=值 ------------------键代表参数的名字,值为参数的值
…
实例如下所示:
可以看到该配置文件的节为[File],有三对键-值。
另外还可利用WritePrivateProfileString函数写配置文件。该函数的原型如下:
WritePrivateProfileStringW(
In_opt LPCWSTR lpAppName, //ini文件中的一个节的名字
In_opt LPCWSTR lpKeyName,//键的名字
In_opt LPCWSTR lpString,//键的值
In_opt LPCWSTR lpFileName//ini文件的路径
);
第二步:读取配置文件
读取配置文件时用到以下两个函数:
用于读取非整型值
用于读取整型值
具体使用如下:
GetPrivateProfileString(
In_opt LPCWSTR lpAppName, //要读取数据所在的节的名字
In_opt LPCWSTR lpKeyName, //要读取数据的键的名字
In_opt LPCWSTR lpDefault, //如果IpReturnedString为空,则把该变量赋值给IpReturnedString
Out_writes_to_opt(nSize, return + 1) LPWSTR lpReturnedString, //存放键值的指针变量,用于接收ini文件中键值的缓冲区
In DWORD nSize, //缓冲区的大小
In_opt LPCWSTR lpFileName //ini文件的路径
);
GetPrivateProfileInt(
In LPCWSTR lpAppName, //ini文件中的一个节的名字
In LPCWSTR lpKeyName, //需要读取的键的名字
In INT nDefault, //如果没有找到的数据返回,就把这个变量值赋值给返回
In_opt LPCWSTR lpFileName //ini文件的路径
);
第三步:实例
配置文件内容如下:
[File]
Path=E:\FTP
Period=2000
ServerURL=this is url
读ini文件:
TCHAR IpPath[MAX_PATH]; //用于存储配置文件路径
_tcscpy(IpPath,_T("E://config.ini"));
TCHAR FilePath[MAX_PATH];
//读取Path的内容
GetPrivateProfileString(_T("File"), _T("Path"), _T(""), FilePath,1024, IpPath);
int time_period;
//读取Period的内容
time_period=GetPrivateProfileInt(_T("File"), _T("Period"), 0, IpPath);
TCHAR S_url[MAX_PATH];
//读取ServerURL的内容
GetPrivateProfileString(_T("File"), _T("ServerURL"), _T(""), S_url, 1024, IpPath);