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;
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。