前提:结构体类型只能为值类型和字符串数组(保持定长)
结构体实例:
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) );