A-A+

MFC程序读写配置文件

2014年05月08日 MFC开发 暂无评论 阅读 143 次

程序中常常有读写config.ini配置文件的操作,比如说将程序的设置写入配置文件,程序运行时读取配置文件等等。

配置写入或者配置读取涉及到两个函数:WritePrivateProfileString 和 GetPrivateProfileString

函数原型:

WritePrivateProfileString(lpApplicationName, lpKeyName, lpString, lpFileName);

参数:

  1. LPCTSTR lpAppName 是INI文件中的一个字段名.
  2. LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.
  3. LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
  4. LPCTSTR lpFileName 是完整的INI文件名.
函数原型:
DWORD GetPrivateProfileString(lpszSection, lpszKey, lpszDefault, lpszReturnBuffer, cchReturnBuffer, lpszFile);
参数:
  1. LPCTSTR lpAppName ------- INI文件中的一个字段名
  2. LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名
  3. LPCTSTR lpString ---------是键值,也就是变量的值, 必须为LPCTSTR或CString类型
  4. LPCTSTR lpFileName --------完整的INI文件路径名
  5. LPCTSTR lpDefaut ----------如果没有其前两个参数值,则将此值赋给变量
  6. LPSTR lpReturnedString --------接收INI文件中的值的CString对象,即接收缓冲区
  7. DWORD nSize ------接收缓冲区的大小

使用示例:

在config.ini配置文件有以下字段:
[SETTING]
Darkest_Time=2
Darkest_PicDir=D:\QQDownload
Darkest_FilePath=D:\TDDOWNLOAD
写入配置文件:
[cpp]WritePrivateProfileString(_T("SETTING"),_T("Darkest_Time"),m_time,_T("..\\config.ini"));
WritePrivateProfileString(_T("SETTING"),_T("Darkest_PicDir"),m_picdir,_T("..\\config.ini"));
WritePrivateProfileString(_T("SETTING"),_T("Darkest_FilePath"),m_path,_T("..\\config.ini"));[/cpp]
读取配置文件:
[cpp]GetPrivateProfileString(_T("SETTING"),_T("Darkest_Time"),_T("10"),
m_time.GetBuffer(MAX_PATH),MAX_PATH,_T("..\\config.ini"));
GetPrivateProfileString(_T("SETTING"),_T("Darkest_PicDir"),_T("..\\Picture"),
m_picdir.GetBuffer(MAX_PATH),MAX_PATH,_T("..\\config.ini"));
GetPrivateProfileString(_T("SETTING"),_T("Darkest_FilePath"),_T("D:\\"),
m_path.GetBuffer(MAX_PATH),MAX_PATH,_T("..\\config.ini"));[/cpp]

说明:如果读取失败,将把变量设置为默认值:"10","..\\Picture","D:\\"。
标签:

给我留言

Copyright © C/C++程序员之家 保留所有权利.   Theme  Ality 浙ICP备15011757号-3

用户登录