我正在尝试将uint32_t从网络字节顺序转换为主机格式。我正在从tcp连接中读取这样存储在缓冲区中的4个字节:
ssize_t read = 0;
char *file_buf;
size_t fb_size = 4 * sizeof(char);
file_buf = malloc(fb_size);
read = recv(socket_file_descriptor,file_buf,fb_size,0);
Run Code Online (Sandbox Code Playgroud)
所以我将数字存储在file_buf中,但是我想要一个数字,该怎么办?
这看起来很简单:
ssize_t read = 0;
uint32_t myInteger; // Declare a 32-bit uint.
// Pass a pointer to the integer, and the size of the integer.
read = recv(socket_file_descriptor,&myInteger,sizeof(myInteger),0);
myInteger = ntohl(myInteger); // Change from Network order to Host order.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
143 次 |
最近记录: |