/** 转换字节序
* @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;
}