【发布时间】:2013-12-10 00:36:40
【问题描述】:
所以我有以下代码:
uint32_t length = 1;
uint8_t buffer[5];
buffer[0] = htonl(length);
std::cout << (uint32_t)*buffer << std::endl;
std::cout << htonl(length) << std::endl;
倒数第二行打印出0,最后一行打印出16777216.....why....?
【问题讨论】:
-
您似乎没有在初始化缓冲区。为什么不呢?
-
其实我才意识到,你只初始化
buffer[0]。 -
@Ethan 与其展示这个最糟糕的实践代码,不如告诉我们您要解决的实际问题可能更有成效。
-
问题解决了。只是一直以为这行不行,不知道为什么不行。