VC++中实现INI文件读

转载在:

VC++中实现INI文件读写的方法和示例

一:读ini配置文件

DWORD GetPrivateProfileString(
LPCTSTR lpAppName, 
LPCTSTR lpKeyName, 
LPCTSTR lpDefault, 
LPTSTR lpReturnedString, 
DWORD nSize, 
LPCTSTR lpFileName 
);
  其中各参数的意义: 
   前二个参数与 WritePrivateProfileString中的意义一样.
   lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量. 
   lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.
   nSize : 目的缓存器的大小.
   lpFileName : 是完整的INI文件名.

代码实现演示:

void CIniFileDemoDlg::OnBnClickedButton1()//read
{
    // TODO: Add your control notification handler code here
    CString strClass, strName, strAge, strSex, strGrade;
    CString strPath=_T("D:\\test\\demo.ini");
 
    ::GetPrivateProfileString(_T("StudentInfo"), _T("Class"), _T(""), strClass.GetBuffer(MAX_PATH),MAX_PATH, strPath);
    ::GetPrivateProfileString(_T("StudentInfo"), _T("Name"), _T(""),strName.GetBuffer(MAX_PATH),MAX_PATH,strPath);
    ::GetPrivateProfileString(_T("StudentInfo"), _T("Age"), _T(""),strAge.GetBuffer(MAX_PATH),MAX_PATH, strPath);
    ::GetPrivateProfileString(_T("StudentInfo"), _T("Sex"), _T(""),strSex.GetBuffer(MAX_PATH),MAX_PATH, strPath);
    ::GetPrivateProfileString(_T("StudentInfo"), _T("Grade"), _T(""),strGrade.GetBuffer(MAX_PATH),MAX_PATH,strPath);
 
    SetDlgItemText(IDC_EDIT1, strClass);
    SetDlgItemText(IDC_EDIT2, strName);
    SetDlgItemText(IDC_EDIT3, strAge);
    SetDlgItemText(IDC_EDIT4, strSex);
    SetDlgItemText(IDC_EDIT5, strGrade);
}

二:读ini配置文件

BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
  其中各参数的意义:
   LPCTSTR lpAppName 是INI文件中的一个字段名.
   LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.
   LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
   LPCTSTR lpFileName 是完整的INI文件名.

代码实现演示:

void CIniFileDemoDlg::OnBnClickedButton2()//writer
{
    // TODO: Add your control notification handler code here
    CString strClass, strName, strAge, strSex, strGrade;
    CString strPath=_T("D:\\test\\demo.ini");

    GetDlgItemText(IDC_EDIT1, strClass);
    GetDlgItemText(IDC_EDIT2, strName);
    GetDlgItemText(IDC_EDIT3, strAge);
    GetDlgItemText(IDC_EDIT4, strSex);
    GetDlgItemText(IDC_EDIT5, strGrade);

    ::WritePrivateProfileString(_T("StudentInfo"), _T("Class"), strClass, strPath);
    ::WritePrivateProfileString(_T("StudentInfo"), _T("Name"), strName, strPath);
    ::WritePrivateProfileString(_T("StudentInfo"), _T("Age"), strAge, strPath);
    ::WritePrivateProfileString(_T("StudentInfo"), _T("Sex"), strSex, strPath);
    ::WritePrivateProfileString(_T("StudentInfo"), _T("Grade"), strGrade,strPath);

}

三:配置文件格式:
[StudentInfo]
Class=2012
Name=jake
Age=22
Sex=女
Grade=优秀

四:如下需要注意下:
   1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.
   2.文件名的路径中必须为 \\ ,因为在VC++中, \\ 才表示一个 \ .
   3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".\\demo.ini".
        4:如果配置文件中有中文字符,需要修改下配置文件的格式。例如将配置文件重新命名为ASCII码格式。

不烧钱!在张江好多人玩这个传奇游戏,美女赛场非常刺激!
上海易嘉 · 鹓鶵
 

C++实现INI文件读写
阅读数 5422

1.概述本文章主要参考这篇博客进行修改的,增加注释和修复了一些问题。这里给出完整的实现文件,在需要的地方包含该头文件就好了。2.实现CMyINI.h#pragmaonce#include#includ...
博文
来自:    m_buddy的博客
C++针对ini配置文件读写大全
阅读数 5054

ini文件(Initializationfile),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可...
博文
来自:    zhanghaizhe的专栏
QT中读写ini文件
阅读数 1283

目标:ini文件(即Initializationfile):这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个...
博文
来自:    高恩阳的博客
 
读写INI文件
阅读数 16

文件名为:sql.ini,位置为所在程序文件夹,文件内容如下:[SQL]DataSource=127.0.0.1,1433Catalog=chaoshiUserID=saPassword=123456...
博文
来自:    zz46123838的博客
ini文件读写 01-03 ini文件读写C# 下载
--------------------- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值