MFC中用c++语言对配置文件操作(读、写)
2017-11-06 10:10
357 查看
一.在VS2015中创建新项目->MFC应用程序->基于对话框
二.在对话框中添加两个Button控件,分别更名为:读配置文件、写配置文件,再添加一个Edit编辑框
三.双击“读配置文件”Button进入代码编写,添加如下代码:
四.双击“写配置文件”进入代码编写,添加如下代码:
注意:在读文件时也要双击一下Edit编辑框,否则无法找到IDC_EDIT_TEST
*重要函数:
函数原型:
参数及类型说明:
*重要函数:
语法:
参数:
返回值:
*重要函数:
语法:
参数:
返回值:
O(∩_∩)O哈哈~到这对配置文件的读写操作就算完了
二.在对话框中添加两个Button控件,分别更名为:读配置文件、写配置文件,再添加一个Edit编辑框
三.双击“读配置文件”Button进入代码编写,添加如下代码:
void CConfigurationFileDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 char tServerip[MAX_PATH] = { 0 }; DWORD dret = GetPrivateProfileString(_T("serverinfo"), _T("addr"), _T("du cuo le"), tServerip, 50, _T("D:\\VSProject\\ConfigurationFile\\Release\\config.ini")); m_serverip = tServerip; m_port = GetPrivateProfileInt(_T("serverinfo"), _T("port"), -1, _T("D:\\VSProject\\ConfigurationFile\\Release\\config.ini")); CFile file1("D:\\VSProject\\ConfigurationFile\\Release\\config.ini ", CFile::modeRead); char *pBuf; int iLen = file1.GetLength(); pBuf = new char[iLen + 1]; file1.Read(pBuf, iLen); pBuf[iLen] = 0; file1.Close(); SetDlgItemText(IDC_EDIT_TEST, pBuf); }
四.双击“写配置文件”进入代码编写,添加如下代码:
void CConfigurationFileDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 BOOL Bw1 = WritePrivateProfileString(_T("serverinfo"), _T("addr"), "192.168.0.2", _T("D:\\VSProject\\ConfigurationFile\\Release\\config.ini")); BOOL Bw2 = WritePrivateProfileString(_T("serverinfo"), _T("port"), "81", _T("D:\\VSProject\\ConfigurationFile\\Release\\config.ini")); if (!Bw2) ::MessageBox(NULL,_T("写入失败"),_T("失败"),0); else ::MessageBox(NULL,_T("写入成功"),_T("成功"),0); }
注意:在读文件时也要双击一下Edit编辑框,否则无法找到IDC_EDIT_TEST
*重要函数:
GetPrivateProfileString//为初始化文件中指定的条目取得字串,是编辑语言中的一种函数结构。
函数原型:
DWORD GetPrivateProfileString(lpszSection, lpszKey, lpszDefault,lpReturnedString, cchReturnBuffer, lpszFile)
参数及类型说明:
lpApplicationName String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表。 lpKeyName String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表 lpDefault String,指定的条目没有找到时返回的默认值。可设为空("") lpReturnedString String,指定一个字串缓冲区,长度至少为nSize nSize Long,指定装载到lpReturnedString缓冲区的最大字符数量 lpFileName String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件
*重要函数:
SetDlgItemTex//在对话框中设置控件的标题或文本。
语法:
BOOL WINAPI SetDlgItemText( _In_ HWND hDlg, _In_ int nIDDlgItem, _In_ LPCTSTR lpString );
参数:
hDlg [in] 类型:HWND 包含该控件的对话框的句柄。 nIDDlgItem [in] 类型:int 要设置标题或文本的控件。 lpString [in] 类型:LPCTSTR 要复制到控件的文本。
返回值:
类型:BOOL 如果函数成功,则返回值为非零。 如果函数失败,返回值为零。要获得扩展错误信息,请调用GetLastError。
*重要函数:
WritePrivateProfileString//将一个字符串复制到初始化文件的指定部分。
语法:
BOOL WINAPI WritePrivateProfileString( _In_ LPCTSTR lpAppName, _In_ LPCTSTR lpKeyName, _In_ LPCTSTR lpString, _In_ LPCTSTR lpFileName );
参数:
lpAppName [in] 字符串将被复制到的部分的名称。如果该部分不存在,则创建该部分。该部分的名称是与案例无关的; 该字符串可以是大写和小写字母的任意组合。 lpKeyName [in] 与字符串关联的键的名称。如果指定部分中不存在该键,则会创建该键。如果此参数为NULL,则删除整个部分(包括该部分中的所有条目)。 lpString [in] 一个零封端的字符串写入文件。如果此参数为NULL,则删除由lpKeyName参数指向的键。 lpFileName [in] 初始化文件的名称。 如果该文件是使用Unicode字符创建的,则该函数会将Unicode字符写入该文件。否则,该函数将写入ANSI字符。
返回值:
如果函数成功地将字符串复制到初始化文件中,则返回值不为零。 如果函数失败,或者刷新最近访问的初始化文件的缓存版本,则返回值为零。要获得扩展错误信息,请调用 GetLastError。
O(∩_∩)O哈哈~到这对配置文件的读写操作就算完了
相关文章推荐
- MFC操作ini配置文件
- [VC/MFC]Ini配置文件操作(含下载链接)
- MFC操作XML配置文件的两种方式:DOM 和 MSXML
- MFC操作ini配置文件
- VC++/MFC操作ini配置文件详解
- MFC中配置文件的写入及读取操作
- MFC操作ini配置文件
- shell 自动检测文件,并进行配置对比和升级操作
- C#操作XML配置文件
- 转载:MFC文件/文件夹操作查找、复制、删除
- MFC对文件的操作
- hadoop配置文件详解、安装及相关操作
- Apache服务器配置文件httpd.conf 常用操作中文版介绍
- syslog-ng+loganalyzer(非常详细配置文件)部署收集操作日志
- MFC库文件版本对程序的影响:Unhandled exception in ***.exe(MFCO42D.dll)0xC00000005:Access Violation,但多数情况下还是对内存操作不当造成的
- win7 下安装oracle 10g的文件配置操作
- 自己的配置文件以及操作
- .net读取ini配置文件的操作
- 用C++语言实现目录文件的非递归遍历并用仿函数来进行文件操作
- VC++ MFC文件,文件夹操作整理