window遍历INI

void EnumIniFile(LPCTSTR pFilePath, CString strKey,map<CString,CString>& map_Key)
{

// TODO: Add your control notification handler code here
TCHAR strAppNameTemp[4096];//所有AppName的返回值
TCHAR strKeyNameTemp[4096];//对应每个AppName的所有KeyName的返回值
TCHAR strReturnTemp[4096];//返回值
DWORD dwKeyNameSize;//对应每个AppName的所有KeyName的总长度
//所有AppName的总长度
DWORD dwAppNameSize = GetPrivateProfileString(NULL,NULL,NULL,strAppNameTemp,4096,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]==0)
{
OutputDebugString(pAppName);
OutputDebugString(_T("/r/n"));
dwKeyNameSize = GetPrivateProfileString(pAppName,NULL,NULL,strKeyNameTemp,4096,pFilePath);
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]==0)
{
OutputDebugString(pKeyName);
OutputDebugString(_T("="));
if(GetPrivateProfileString(pAppName,pKeyName,NULL,strReturnTemp,4096,pFilePath))
{
                                OutputDebugString(strReturnTemp);
}
CString strKeyName(pKeyName);
map_Key.insert(make_pair(strKeyName,strReturnTemp));
int isize=map_Key.size();
if (isize==187)
{
OutputDebugString(_T("/r/n"));
}
memset(pKeyName,0,dwKeyNameSize);
nKeyNameLen=0;
OutputDebugString(_T("/r/n"));
}
}
delete[]pKeyName;
}
memset(pAppName,0,dwAppNameSize);
nAppNameLen=0;
}
}
delete[]pAppName;
}   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

long12310225

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值