2013-02-09 52 views
0

我遇到了发送一个奇怪的行为()函数调用,其中socketfd是0,p是“测试\ n”,长度为5,标志是0:的send()函数不返回-1从未/未连接套接字

size_t n = 0; 

    n = send(socketfd, p, length, flags); 

发送似乎在正18446744073709551615

功能文档说,它返回-1返回错误的值。

的代码被编译在Mac OS X 10.7狮子。任何想法发生了什么?

+0

什么是变量n的TIPE?你如何测试它的价值? – LtWorf 2013-02-09 23:38:02

+0

更新:它是为size_t – Ahmed 2013-02-09 23:39:44

回答

1

为size_t是一个无符号类型,它不能包含负值。 实际上,如果您检查send的联机帮助页,则其返回类型是ssize_t,它是已签名的版本并可包含负值。

尝试改变类型。

+0

优秀的,谢谢:) – Ahmed 2013-02-09 23:43:15

+0

标记为接受的话,请:-) – LtWorf 2013-02-09 23:48:30

+0

它需要至少5分钟,以纪念它的答案,做了现在:) – Ahmed 2013-02-09 23:50:29

相关问题