|
|

楼主 |
发表于 2005-7-13 11:09:23
|
显示全部楼层
Post by nait
我觉得应该用%u,改成这样呢?
printf("%u", ntohs(udpheader->source));
不知道是不是斑竹敲错了,struct udphdr 结构中明明定义的是u_int16_t,而你在printf语句中用的是uint16_t,难道这两个都是用typedef定义为unsighed short?对网络编程不是很熟悉,只能胡乱猜测
这个我也想到了,这两个u_int16_t和uint16_t我都试过,最后查找之后的确是两个都定义为unsighed short
最后的错误很简单,我把struct udphdr搞成struct udp,结果定义指针为:
struct udp *pointer.
系统哪个头文件里可能也有一个struct udp定义的数据结构,编译后没有报错,结果我费了好多时间查找错误,都是粗心的后果. :beat |
|