转换字节序的模板函数

 

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

posted on 2008-06-04 10:16 FongLuo 阅读(332) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

常用链接

留言簿

随笔分类(11)

随笔档案(79)

文章档案(1)

收藏夹(38)

学习网站

一般网站

最新随笔

搜索

积分与排名

最新评论

阅读排行榜