htonl

    4热度

    2回答

    我试图初始化一个全局作用域的const变量,它的值正确地进行了字节交换。 #include <stdio.h> #include <stdint.h> #include <arpa/inet.h> const uint32_t a = ntohl(0x11223344); int main(int argc, char const *argv[]) { printf("%0

    0热度

    1回答

    稳定伪代码在以下链接中提到。 我想用C++实现它。我无法理解和执行这些操作的标志,指数和尾数。 how to convert double between host and network byte order? void htond (const double hostDouble, uint8_t result[8]) { result[0] = signOf(hostDouble

    3热度

    1回答

    到__be32我有一个变量 __be32 x; 我有一个功能 __u32 foo(void){ __u32 a; return a; } 我需要存储的foo变量x回报。 x=htonl(foo()); 它正确吗? 我有一个混淆,什么是ntohl()和htonl()返回类型。它们是否彼此相反? 为了检查输出,我需要重新编译内核,我不想让系统出现任何错误。所以我在

    0热度

    1回答

    我在结构中有一个void *值,我需要通过套接字将它发送到服务器。我知道我需要使用 int value = htonl(kv->value); 但是编译器引发错误 passing argument 1 of ‘htonl’ makes integer from pointer without a cast [-Werror] 我也试过铸造无效*为int,没有工作,我用 htonl(*kv-

    2热度

    2回答

    任何方式将短的2字节短(正常短)转换为2字节字符串(char *)后使用htons。事情是htons方法返回一个int(4字节),我怎么把它放入一个2字节的字符串? 注意:我需要能够使用结果中的ntohs来获取原始值。 谢谢建议:d

    1热度

    1回答

    cout << "Hello World !" << endl; 对于我的第一个职位上的堆栈溢出:当我们应该使用htonl功能?我浏览了man page。但是,我并不真正了解何时以及如何使用它。

    0热度

    1回答

    我试图模仿Python中C程序的某些部分的行为。他们都在读取一个二进制文件,其中每条记录都是长度 - >数据。 C程序会从文件中提取长度字节,不管是正还是负,ntohl()都会返回正确的长度。然而,在Python,即使长度记录是相同的值,当它的负我发现了一个OverflowError:作为与C length: 419495936 ntohl: 281 length: -2147418112 Ove

    0热度

    2回答

    当我将端口写入SOCKADDR_IN结构时,是否可以使用0x5000而不是htons(80)? (为什么0x5000处 - ?我调试htons(80),并返回0x5000处)

    21热度

    3回答

    我想通过一个套接字传递一个32位有符号整数x。为了让接收器知道哪个字节顺序,我在发送之前调用htonl(x)。 htonl预计会有uint32_t,但我想确定在将我的int32_t投射到uint32_t时会发生什么情况。 int32_t x = something; uint32_t u = (uint32_t) x; 是否总是在x和u每个字节会完全一样的情况下?怎么样铸造回: uint32

    0热度

    4回答

    发送C-侧 double tmp = htonl(anydouble); send(socket, (char *) &tmp, sizeof(tmp), 0); 在Java端,即时阅读网络数据到一个char [8] 转换回双倍的正确方法是什么? 是否只需发送一个字符串并将其解析为双倍?