示例#1
0
/*************************************************
	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;
}
示例#2
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;
}
示例#3
0
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;
}
示例#4
0
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();
    }
}