/************************************************* Function: main Description: 主函数 Calls: scanf printf Called By: 编译器 Input: 无 Output: 无 Return: 0 *************************************************/ int main(void) { int len; int res; int pos = 0; int val = 1030; struArray StruArray; printf("input the array length\n"); scanf("%d", &len); InitArr(&StruArray, len); //下列为测试程序 AppendArr(&StruArray, 512); ShowArr(&StruArray); AppendArr(&StruArray, 999); ShowArr(&StruArray); AppendArr(&StruArray, 1111); ShowArr(&StruArray); AppendArr(&StruArray, val); ShowArr(&StruArray); AppendArr(&StruArray, 666); ShowArr(&StruArray); InsertArr(&StruArray, 10, 40); ShowArr(&StruArray); DeleteArr(&StruArray, 9); ShowArr(&StruArray); if (FindVal(&StruArray, val, &pos)) { printf("%d:%d\n", val, pos); } if (Get(&StruArray, 8, &res)) { printf("res:%d\n", res); } SortArr(&StruArray); ShowArr(&StruArray); if (FindVal(&StruArray, val, &pos)) { printf("%d:%d\n", val, pos); } InverseArr(&StruArray); ShowArr(&StruArray); if (FindVal(&StruArray, val, &pos)) { printf("%d:%d\n", val, pos); } DeleteAll(&StruArray); return 0; }
HRESULT CBasePropSetter::GetNumericVal(const TCHAR *szName, DWORD *pdwVal, int iBase = 10) { if ((iBase != 10) && (iBase != 16)) { return E_INVALIDARG; } BSTR bstrVal; HRESULT hr = FindVal(szName, &bstrVal); if (SUCCEEDED(hr)) { USES_CONVERSION; TCHAR* tstr = OLE2T(bstrVal); if (!tstr) return E_FAIL; #ifdef UNICODE char strTmp[16]; wcstombs(strTmp, (const wchar_t *) tstr, sizeof(strTmp)); (*pdwVal) = strtol(strTmp, 0, iBase); #else (*pdwVal) = strtol(tstr, 0, iBase); #endif SysFreeString(bstrVal); } return hr; }
HRESULT CBasePropSetter::SetWindowTextFromProp(HWND hwnd, const TCHAR* szName) { USES_CONVERSION; BSTR bstrVal; HRESULT hr = FindVal(szName, &bstrVal); if (SUCCEEDED(hr)) { SetWindowText(hwnd, OLE2T(bstrVal)); SysFreeString(bstrVal); } return hr; }
ECConfig::ECConfig(const EC_PCHAR pFilePath) :m_nCount(0) ,m_sFile(pFilePath) { if(EC_Err_None == m_sFile.Open((EC_PCHAR)"rt")) { ECString pKey; ECString pVal; ECString sCfgStr; EC_CHAR pCfgStr[CONFIG_MAX_ITEM_LENGTH] = {0}; EC_U32 nReadRet = m_sFile.ReadStrLine(pCfgStr, CONFIG_MAX_ITEM_LENGTH); while(EC_Err_None == nReadRet) { sCfgStr = pCfgStr; sCfgStr.Trim(); sCfgStr.TrimEnd(); if(m_nCount < CONFIG_MAX_ITEM_COUNT) { pKey = FindKey(sCfgStr.ToCStr()); pVal = FindVal(sCfgStr.ToCStr()); if(!pKey.IsNull() /*&& !pVal.IsNull()*/) { m_pConfigItem[m_nCount].m_sKey = pKey; m_pConfigItem[m_nCount].m_sVal = pVal; m_nCount++; } } else return; nReadRet = m_sFile.ReadStrLine(pCfgStr, CONFIG_MAX_ITEM_LENGTH); }; m_sFile.Close(); } }