Ini文件遍历
来源:互联网 发布:sai绘画软件下载 编辑:程序博客网 时间:2024/05/22 10:25
**********************************************************************
函数功能:INI文件的遍历函数参数:
1 pFilePath ini文件的路径
2 strKey 需要遍历的键值项
3 map_Key 关联式容器map 返回该键值下的所有子项
*//************************************************************************/
void EnumIniFile(LPCTSTR pFilePath, CString strKey,map<CString,int>& map_Key){
//TODO: Add your control notification handler code here
TCHAR strAppNameTemp[1024];//所有AppName的返回值
TCHAR strKeyNameTemp[1024];//对应每个AppName的所有KeyName的返回值
TCHAR strReturnTemp[1024];//返回值
DWORD dwKeyNameSize;//对应每个AppName的所有KeyName的总长度
//所有AppName的总长度
DWORD dwAppNameSize = GetPrivateProfileString(NULL,NULL,NULL,strAppNameTemp,1024,pFilePath);
if(dwAppNameSize>0)
{
TCHAR *pAppName =new TCHAR[dwAppNameSize];
int nAppNameLen=0;//每个AppName的长度
for(int i = 0;i<dwAppNameSize;i++)
{
pAppName[nAppNameLen++]=strAppNameTemp[i];
if(strAppNameTemp[i]=='')
{
OutputDebugString(pAppName);
OutputDebugString(_T("/r/n"));
dwKeyNameSize = GetPrivateProfileString(pAppName,NULL,NULL,strKeyNameTemp,1024,pFilePath);
if (pAppName == strKey)//这里是我们要遍历的键值
{
if(dwAppNameSize>0)
{
TCHAR *pKeyName =new TCHAR[dwKeyNameSize];
int nKeyNameLen=0;//每个KeyName的长度
for(int j = 0;j<dwKeyNameSize;j++)
{
pKeyName[nKeyNameLen++]=strKeyNameTemp[j];
if(strKeyNameTemp[j]=='')
{
OutputDebugString(pKeyName);
OutputDebugString(_T("="));
if(GetPrivateProfileString(pAppName,pKeyName,NULL,strReturnTemp,1024,pFilePath)) OutputDebugString(strReturnTemp);
CString strKeyName(pKeyName);
int iTemp = atoi(strReturnTemp);
map_Key.insert(make_pair(strKeyName,iTemp));
memset(pKeyName,0,dwKeyNameSize);
nKeyNameLen=0;
OutputDebugString(_T("/r/n"));
}
}
delete[]pKeyName;
}
}
memset(pAppName,0,dwAppNameSize);
nAppNameLen=0;
}
}
delete[]pAppName;
}
- VC遍历INI文件
- VC遍历INI文件
- Ini文件遍历
- INI文件解析、遍历
- NSIS循环遍历INI文件内容
- 遍历INI文件和删除指定域内容
- Qt QSettings(遍历)读取注册表和ini文件
- java读取、写入保存、遍历ini文件配置数据
- 递归遍历文件夹&读取ini文件&获取ini的全部key
- INI文件
- ini文件
- INI文件
- INI文件
- INI文件
- INI文件
- ini文件
- INI文件
- INI文件
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)(r)
- 青春的我们
- CDH5.4.10 在Hive上执行Update,Delete操作报错Attempt to do update or delete using transaction manager that doe
- redo结构
- 工作中出现的问题及解决步骤总结(可能在大牛看来,很low,但自己真的有收获)
- Ini文件遍历
- 文章标题
- Android 计算器 sin cos tan 值问题
- 【Java并发编程】之四:守护线程与线程阻塞的四种情况 (r)
- tableView的Cell调整imageView的大小
- C#基础知识(九)队列、栈、链表
- c语言strcpy和memcpy
- java中数组与容器的区别
- 92.leetcode Reverse Linked List II(medium)[链表逆序]