定义一个char指针,取你结构体的size给char分配空间,发送的时候并把结构体地址给char指针,发送BUFF指向那个char就可以了。

解决方案 »

  1.   

    转换一下就ok了:
    send((char *)&结构变量名,......);
      

  2.   

    我的程序大概是这个样子:struct strmessage
    {
    CString ;
    }message;
    char * lpbuf;
    iLen=sizeof(message);
    lpbuf=&message;
    iSent=m_sConnectSocket.Send(lpbuf,iLen);但是编译时说:error C2440: '=' : cannot convert from 'struct CWodeserverDlg::strmessage *' to 'char *'
    我曾经试过用一个strmessage * plbuf,编译可以通过,但是在俩台机器之间这样传递message的地址有用吗?它能把整个message结构体都传过去吗?
      

  3.   

    struct strmessage
    {
    CString  cc ;
    }message;char * lpbuf;
    iLen=sizeof(message);
    lpbuf=(LPSTR)message.cc.getbuffer(0);
    iSent=m_sConnectSocket.Send(lpbuf,iLen);