相关疑难解决方法(0)

C ++ htonll和后面

我发现以下代码能够将int64_t转换为网络字节顺序。现在,我需要相反的代码,以便将网络字节顺序转换回我的小端机器。代码是这样的。

int64_t decode(void* value){
    int64_t vv = *((int64_t*) value);
    int num = 42;
    if(*(char *)&num == 42) //test big/little endian
        return (((uint64)htonl(vv)) << 32) + htonl(vv >> 32);
    else 
        return vv;
}
Run Code Online (Sandbox Code Playgroud)

非常感谢!

c c++

3
推荐指数
1
解决办法
7515
查看次数

标签 统计

c ×1

c++ ×1