配置文件INI的操作
来源:互联网 发布:徐贤气质知乎 编辑:程序博客网 时间:2024/05/18 03:55
1:Win.ini文件的写入
使用 的WritePrivateProfileString()函数,函数声明是
BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR
lpKeyName,LPCTSTR lpstring);
其中lpAppName表示包含了复制到Win.ini中的段的段名,如果不存在该段,则创建
这个段;lpKeyName包含了一个键的名字,没有该键则创建,如果该参数为NULL,则整
个段,包括段中所有的项都将被删除;lpstring是被写入Win.ini文件的字符串,如果
是NULL,则lpKeyName指定的键都会被删除
2:获取INI文件的数据
DWORD GetPrivateProfilString(LPCTSTR lpAppName,LPCTSTR
lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPTSTR
lpFileName)
其中lpAppName表示段(节)名,如果该参数为NULL,函数将复制所有节名导所标志
的缓冲区中
lpKeyName表示键名,如果该参数为NULL,函数将复制lpAppName段下的键名的缓冲
区中
lpDefault表示默认值
lpReturnedString表示用于接收数据的缓冲区;
nSize一字符为单位表示lpReturnedString缓冲区的大小
lpFileName表示文件名称
3:从INI文件获取整型数据
UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT
nDefault,LPCTSTR lpFileName)
4:从INI文件获取所有节名(段名)
DWORD GetPrivateProfileSectionNames(LPTSTR lpszReturnBuffer,DWORD
nSize,LPCTSTR lpFileName)
lpszReturnBuffer表示接受节名的缓冲区
nSize缓冲区大小
5:返回指定节下的所有键名和键值
DWORD GetPrivateProfileSection(LPCTSTR lpAppName,LPTSTR
lpReturnedString,DWORD nSize,LPCTSTR lpFileName)
lpAppName表示节名
void CIniDlg::OnWrite() { UpdateData(true); CString jie,jian1,jian2,jian3; CFileDialog dlg(false); dlg.m_ofn.lpstrTitle="INI保存为"; dlg.m_ofn.lpstrFilter="ini files(*.ini)\0*.ini\0All files(*.*)\0*.*\0\0"; CString path; if(dlg.DoModal()==IDOK) { path=dlg.GetPathName(); if(path.Right(4)!=".ini") path+=".ini"; m_jie.GetWindowText(jie); m_jian1.GetWindowText(jian1); m_jian2.GetWindowText(jian2); m_jian3.GetWindowText(jian3); WritePrivateProfileString(jie,jian1,m_zhi1,path); WritePrivateProfileString(jie,jian2,m_zhi2,path); WritePrivateProfileString(jie,jian3,m_zhi3,path); } }void CIniDlg::OnRead() { UpdateData(false); CFileDialog dlg(true); dlg.m_ofn.lpstrTitle="读取文件"; dlg.m_ofn.lpstrFilter="ini files(*.ini)\0*.ini\0All files(*.*)\0*.*\0\0"; CString strPath; if(dlg.DoModal()==IDOK) { strPath = dlg.GetPathName(); //获得文件路径 CString section; //定义字符串变量 GetPrivateProfileSectionNames(section.GetBuffer(0),100,strPath); //获取节名 char keys[MAX_PATH]= {0}; //定义一个字符数组 GetPrivateProfileSection(section,keys,MAX_PATH,strPath); //获取键名和键值 char *cmp = "="; //定义一个字符指针 int pos = strcspn(keys,cmp); //查找=在字符串中的位置 char vals[MAX_PATH] = {0}; //定义字符数组 strncpy(vals,keys,pos); //赋值键名 char* ptmp = keys+pos+1; //将字符指针指向键值 m_jie.SetWindowText(section); //设置编辑框节名文本 m_jian1.SetWindowText(vals); //设置编辑框键名文本 //m_ValOne.SetWindowText(ptmp); m_zhi1=ptmp;//设置编辑框键值文本 int len = strlen(ptmp); //获取字符串长度 ptmp +=len+1; //指向下一个键名 pos = strcspn(ptmp,cmp); //查找=在字符串中的位置 memset(vals,0,MAX_PATH); //初始化vals strncpy(vals,ptmp,pos); //赋值键名 m_jian2.SetWindowText(vals); //设置键名文本 ptmp +=pos+1; //指向键值 //m_ValTwo.SetWindowText(ptmp); m_zhi2=ptmp;//设置键值编辑框文本 len = strlen(ptmp); //获取字符串长度 ptmp +=len+1; //指向下一个键名 pos = strcspn(ptmp,cmp); //查找=在字符串中的位置 memset(vals,0,MAX_PATH); //初始化vals strncpy(vals,ptmp,pos); //赋值键名 ptmp += pos+1; //指向键值 m_jian3.SetWindowText(vals); m_zhi3=ptmp; //设置编辑框键名文本 //m_ValThree.SetWindowText(ptmp); //设置编辑框键值文本 }}
- 配置文件INI的操作
- VC++操作INI配置文件的实现
- C++操作.ini配置文件的API
- C++操作.ini配置文件的API
- C++操作.ini配置文件的API
- C# 关于 ini 配置文件的操作
- 程序配置文件(*.ini)的操作
- ini配置文件的格式及读取操作
- ACE操作ini配置文件
- PHP操作ini配置文件
- C# 操作INI配置文件
- MFC操作ini配置文件
- Ini配置文件操作接口
- INI配置文件操作
- 操作INI配置文件 vc
- 配置文件( .INI )操作
- MFC操作ini配置文件
- C# 操作.ini配置文件
- jdbc 得到表结构、主键
- Google Plus UI Button制作
- Chain Of Resoponsibility(职责链模式)
- arthurwidgets.cpp:54:35: error: private/qpixmapdata_p.h: No such file or directory 的解决
- Ogre例子Facial Animation分析
- 配置文件INI的操作
- 大数相乘模板
- NYOJ--第456题邮票分你一半
- 编译相关问题和解决办法
- How Do Fixes Become Bugs
- 用vi修改文件,保存文件时,提示“readonly option is set”的解决方法。
- TQ2440中的uvc_stream中 Unable to set format: 22. 错误
- 回调函数
- 错排