MFC应用实例:[45]读写INI文件
1、新建一个基于对话框的应用程序,工程名为RWIni。
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1ede7f535c8a981fceecd2d90f27.jpg)
2、如下图为对话框添加三个按钮,一个列表框。
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/125ed0ecd3d96975634b102ad243040149fe0927.jpg)
3、为列表框添加一个成员变量
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/054056fe1e425d6b9c5eb59a11883913e9e50027.jpg)
4、为写入INI按钮建立响应函数OnBnClickedButton1(),在响应函数OnBnClickedButton1()中添加一下代码
void CRWIniDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//获得书本
int count = m_list.GetCount();
for (int i = 0; i < count; i++)
{
//将书本信息写入ini文件
CString key; //书本号
CString product; //书本名
m_list.GetText(i, product); //获取书本名
key.Format(_T("product%d"), i);
::WritePrivateProfileString(_T("ProductName"), key, product, _T("c:\\products.ini"));
}
//将书本数量写入ini文件
CString strCount;
strCount.Format(_T("%d"), count);
::WritePrivateProfileString(_T("ProductCount"), _T("Count"), strCount, _T("c:\\products.ini"));
//显示成功保存信息
MessageBox(_T("已将书本信息保存到INI文件中。"), _T("信息"), MB_OK | MB_ICONINFORMATION);
}
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/3852f6e5eceeadbc21a0bbc3cd18dfdae53b7b27.jpg)
5、为清空列表按钮建立响应函数OnBnClickedButton3(),在响应函数OnBnClickedButton3()中添加一下代码
void CRWIniDlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
m_list.ResetContent();
}
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/de9bfa3b3b860221e9d86fe5d8bbf82065fb7227.jpg)
6、为读取INI按钮建立响应函数OnBnClickedButton2(),在响应函数OnBnClickedButton2()中添加一下代码
void CRWIniDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//从ini文件中获得书本数量
int count = ::GetPrivateProfileInt(_T("ProductCount"), _T("Count"), 0, _T("c:\\products.ini"));
for (int i = 0; i < count; i++)
{
//从ini文件中获得书本名列于列表中
CString key;
CString product;
key.Format(_T("product%d"), i);
::GetPrivateProfileString(_T("ProductName"), key, NULL, product.GetBuffer(128), 128, _T("c:\\products.ini"));
m_list.AddString(product);
}
UpdateData(false);//更新视图
}
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/65ba880b31210561aa2ca95a08aee8d7582a6a27.jpg)
7、程序初始化如下:在OnInitDialog()函数中添加一下代码:
m_list.AddString(_T("操作系统"));
m_list.AddString(_T("数据结构"));
m_list.AddString(_T("组成原理"));
m_list.AddString(_T("计算机网络"));
m_list.AddString(_T("通信原理"));
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/82eff6d7592ae3ef54f7e88254b6326c56666427.jpg)
8、程序运行如下:
![MFC应用实例:[45]读写INI文件](https://exp-picture.cdn.bcebos.com/1570c1b6326c57662040fee0a4632385e1366127.jpg)