char轉換成int

weixin_49249294發表於2020-10-02

標籤:C++面試題
《char轉換成int》

int i_offset = 0;
int i_count = GetValue(pBuffer+i_offset,4);
i_offset += 4;

DWORD GetValue(const BYTE *pBuffer , int i_length)
{
DWORD i_value=0;
if (NULL==pBuffer || i_length<=0) return i_value;

switch(i_length)
{
case 0:
i_value=0;
break;
case 1:
i_value=*pBuffer ;
break;
case 2:
i_value=GetWORD( pBuffer );
break;
case 3://可能涉及到大頭 小頭; 暫時以Intel為
i_value=GetWORD(pBuffer +1) + ( *pBuffer <<16);
break;
case 4:
i_value=GetDWORD(pBuffer );
break;

default:
break;
}

return i_value;
}

int GetWORD( const unsigned char *buffer)
{
unsigned int value=buffer[0] ;
value<<=8 ;
value+=buffer[1] ;
return (int)value ;
}

相關文章