/** 轉換字節序
* @para value 需要轉換的數據。
* 只會轉換偶數字節的數據,其它的直接返回原值。可以用于顛倒一個字符串。
* @authr Fongluo
* @date 2008/06/06 10:00
**/
template<typename VALUE_TYPE >
VALUE_TYPE switchByteOrders(VALUE_TYPE value)
{
size_t stValueLen = sizeof(value);
PBYTE pStart = (PBYTE)&value;
PBYTE pEnd = pStart + (stValueLen - 1);
if(0 != stValueLen && (0 == (stValueLen&0x01)))
{
stValueLen /= 2;
for(size_t i=0; i< stValueLen; i++)
{
swap((*pStart), (*pEnd));
pStart ++;
pEnd --;
}
}
return value;
}