send() 是否允许您传递一个 int 数组 C
Does send() allow you to pass an int array C
我正在尝试在一个简单的服务器-客户端聊天程序中发送一条加密消息。
这是 send()
调用:
int send(int sockfd, const void *msg, int len, int flags);
我可以将 int
数组作为 *msg
传递吗?
我想你可以使用 send()
系统调用。但请注意,len
是消息的 字节长度 。所以我认为 5 int
的数组。您需要将 len
指定为 5*(sizeof(int))
。
此外,在接收方,您需要相应地解释它。
正如 Naveen 所指出的,对您的问题已有更详细的回答 here。
是的,您可以将 int
的数组传递给 send()
。你被允许这样做的原因是数组在传递给函数时会自动转换为指针。参见 this previous question。
此外,如果需要,C 中的任何指针都可以自动转换为 void *
。空指针旨在提供隐式转换。
我正在尝试在一个简单的服务器-客户端聊天程序中发送一条加密消息。
这是 send()
调用:
int send(int sockfd, const void *msg, int len, int flags);
我可以将 int
数组作为 *msg
传递吗?
我想你可以使用 send()
系统调用。但请注意,len
是消息的 字节长度 。所以我认为 5 int
的数组。您需要将 len
指定为 5*(sizeof(int))
。
此外,在接收方,您需要相应地解释它。
正如 Naveen 所指出的,对您的问题已有更详细的回答 here。
是的,您可以将 int
的数组传递给 send()
。你被允许这样做的原因是数组在传递给函数时会自动转换为指针。参见 this previous question。
此外,如果需要,C 中的任何指针都可以自动转换为 void *
。空指针旨在提供隐式转换。