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;

    }

}

 

你可能感兴趣的:(C++)