gpt4 book ai didi

c++ - 将 int 转换为 void *data 并获取以字节为单位的长度

转载 作者:搜寻专家 更新时间:2023-10-31 00:12:37 25 4
gpt4 key购买 nike

我正在尝试使用 SDLNet_TCP_Send(TCPsocket sock, void *data, int len) 函数(SDL_net 库的一部分),我很难弄清楚如何使用它发送一个 int。我可以这样做还是应该使用其他方法?

最佳答案

"how I could use this to send an int ... Would I be able to do that or should I use another approach?"

该函数可用于执行此操作。您只需使用一个地址和 sizeof():

int dataToSend = 42;
SDLNet_TCP_Send(sock, &dataToSend, sizeof(dataToSend));

根据数据协议(protocol),您可能需要遵守整数数据应以网络字节顺序发送(使其与机器架构无关):

#include <arpa/inet.h>

int dataToSend = htonl(42);
// ^^^^^ Make integer network byte ordered (big endian)
SDLNet_TCP_Send(sock, &dataToSend, sizeof(dataToSend));

关于c++ - 将 int 转换为 void *data 并获取以字节为单位的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com