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