c++ 遍历ini

inline void CDLG_SET1::EnumIniFile(LPCTSTR pFilePath, CString strKey)
{
    TCHAR strAppNameTemp[1024];//所有AppName的返回值
    TCHAR strKeyNameTemp[1024];//对应每个AppName的所有KeyName的返回值
    TCHAR strReturnTemp[1024];//返回值
    DWORD dwKeyNameSize;//对应每个AppName的所有KeyName的总长度
    //所有AppName的总长度
    DWORD dwAppNameSize = GetPrivateProfileString(strKey,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]=='\0')
            {
                OutputDebugString(pAppName);  //获取关键字
                OutputDebugString(_T("/r/n"));
                dwKeyNameSize = GetPrivateProfileString(pAppName,NULL,NULL,strKeyNameTemp,1024,_T("test.INI"));
                memset(pAppName,0,dwAppNameSize);
                nAppNameLen=0;
            }
        }
        delete[]pAppName;
    }
}

 

posted on 2014-10-27 01:43  iackjee  阅读(1244)  评论(0编辑  收藏  举报

导航