char转换成int

标签: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 ;
}

猜你喜欢

转载自blog.csdn.net/weixin_49249294/article/details/108899809