socket发送结构体 小结

来源:互联网 发布:电脑免费加密软件 编辑:程序博客网 时间:2024/05/03 08:36

前提:结构体类型只能为值类型和字符串数组(保持定长)

结构体实例:

 

struct UsrData{

TCHAR usr_id[16];

TCHAR usr_pwd[16];

TCHAR usr_nickname[16];

int i;

struct aa{

int bbb;

TCHAR aaStr[16];

} a_s;

};

 

发送:

UsrData sendUser;

memcpy( sendUser.usr_id, L"100001",sizeof(L"100001") );

memcpy( sendUser.usr_pwd,L"123456", sizeof(L"123456"));

memcpy( sendUser.usr_nickname, L"Rock", sizeof(L"Rock") );

sendUser.i =5;

memcpy(sendUser.a_s.aaStr,L"sdc",sizeof(L"sdc"));

 

sendUser.a_s.bbb =10;

int nwrite = send( m_send, (char *)&sendUser, sizeof(UsrData), 0 );  //参数2发送时强转为char*即可 发送字节数由于为Unicode

    // 所以长度为字节数*2

 

************************************************************************************

接收:

CHAR buffer[1024];

UsrData recvUser;

recv( wParam, buffer, sizeof(buffer), 0 );

memcpy( &recvUser, buffer, sizeof(buffer) );

 

原创粉丝点击