首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

一个有关in_addr的有关问题请问

2012-02-10 
一个有关in_addr的问题请教!在函数开始声明了:intiDWORDdwIPIP_HEADERipHeaderUDP_HEADERudpHeaderin_

一个有关in_addr的问题请教!
在函数开始声明了:
int   i;
DWORD   dwIP;
IP_HEADER   ipHeader;  
UDP_HEADER   udpHeader;
in_addr   a;

                  memcpy(&dwIP,   byteArray+26,sizeof(dwIP));       //src   ip;
                  a.s_addr   =   dwIP;(a.S_un.S_addr也试过了)   还是一样
 
提示如下错误:
error   C2065:   'in_addr '   :   undeclared   identifier
error   C2146:   syntax   error   :   missing   '; '   before   identifier   'a '
error   C2065:   'a '   :   undeclared   identifier
error   C2224:   left   of   '.S_un '   must   have   struct/union   type

如果:     把in_addr   声明放到i下面   ,   一下在好多错误.

注:     我在project   setting   中添加了 ws2_32.lib.
                  也程序中也添入了       #include   <winsock.h>

请哪个朋友指点一下!

[解决办法]
Winsock2.h

[解决办法]
你自己打开Winsock2.h看看:
......
struct in_addr {
union {
struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
} S_un;
#define s_addr S_un.S_addr
/* can be used for most tcp & ip code */
#define s_host S_un.S_un_b.s_b2
/* host on imp */
#define s_net S_un.S_un_b.s_b1
/* network */
#define s_imp S_un.S_un_w.s_w2
/* imp */
#define s_impno S_un.S_un_b.s_b4
/* imp # */
#define s_lh S_un.S_un_b.s_b3
/* logical host */
};
[解决办法]

Ws2_32.lib
链接进来试一试

热点排行