//--------------------------------------------------------------------------- // 函数: CreateIniLink // 功能: 创建Ini链表 // 参数: pBuffer 缓存 // nBufLen 长度 // 返回: void //--------------------------------------------------------------------------- void KIniFile::CreateIniLink(LPVOID pBuffer, LONG nBufLen) { LPSTR lpBuffer = (LPSTR)pBuffer; LPSTR lpString = NULL; LPSTR lpValue = NULL; char szSection[32] = "[MAIN]"; m_Offset = 0; while (m_Offset < nBufLen) { lpString = &lpBuffer[m_Offset]; if (!ReadLine(lpBuffer, nBufLen)) continue; if (*lpString == ';') { continue; } if (*lpString == '#') { continue; } if (*lpString == '[') { g_StrCpyLen(szSection, lpString, sizeof(szSection)); continue; } lpValue = SplitKeyValue(lpString); SetKeyValue(szSection, lpString, lpValue); } }
//--------------------------------------------------------------------------- // 函数: CreateIniLink // 功能: 创建Ini链表 // 参数: pBuffer 缓存 // nBufLen 长度 //--------------------------------------------------------------------------- void QIniFileImpl::CreateIniLink(void* pBuffer, long nBufLen) { char* lpBuffer = (char*)pBuffer; char* lpString = NULL; char* lpValue = NULL; char szSection[64] = "[MAIN]"; m_Offset = 0; while (m_Offset < nBufLen) { lpString = &lpBuffer[m_Offset]; if (!ReadLine(lpBuffer, nBufLen)) break; if (IsKeyChar(*lpString)) { lpValue = SplitKeyValue(lpString); if (lpValue) SetKeyValue(szSection, lpString, lpValue); } else if (*lpString == '[') { QStrCpyLen(szSection, lpString, sizeof(szSection)); } } }