i = sizeof(struct sockaddr);iLen = recvfrom(mfg_fd,(char *)RecvBuf,RECV_MAX_LEN,0,(struct sockaddr*)&remote,&i);问题一:最后一个参数,为什么sento()是int,而recvfrom必须是指针问题二:我可以节省变量i,而直接用& sizeof(struct sockaddr)做最后一个参数吗?请指教~~
2 回答
青春有我
TA贡献1784条经验 获得超8个赞
这个就看socket 的声明吧, 都这么做没办法, 这个确实很蠢。
问题2 不可以
sizeof(struct sockaddr) 对于程序来说就是个常数, 你能用 &2 来代替指向2的指针么,这个不行,你说的就不行。
米脂
TA贡献1836条经验 获得超3个赞
输入参数是把数据传入函数用的参数。
输出参数是把函数结果传出到调用语句的程序块用的参数。
输出参数是函数的一个参数,写在函数名后的括号里的参数。返回值是 函数里的 return 语句送回的值,送到调用语句的表达式里。
recvBuf 是recvfrom 的 输出参数,存收到的内容,不要初始化。
sendBuf 是sendto 的 输入参数,存送出的内容,要初始化。
添加回答
举报
0/150
提交
取消