Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在调用 send() 函数时遇到了一个奇怪的行为,其中 socketfd 是 0,p 是 "test\n" ,长度是 5 ,标志是 0 :
size_t n = 0; n = send(socketfd, p, length, flags);
send 似乎在 n 18446744073709551615 中返回一个值
函数文档说它在错误时返回 -1。
代码在 mac os x 10.7 lion 上编译。有什么想法吗?
size_t是无符号类型,它不能包含负值。事实上,如果你查看 send 的手册页,它的返回类型是ssize_t,它是签名版本,可以包含负值。
size_t
ssize_t
尝试更改类型。