请问用CSocket怎么发送CString型数据?

解决方案 »

  1.   

    不可能。它只能发送char *类型的数据,到那边再赋值给一个CString吧。
      

  2.   

    virtual int Send(
       const void* lpBuf,
       int nBufLen,
       int nFlags = 0 
    );
    直接Send(szString, szString.GetLength(), nFlag)就可以
      

  3.   

    CString是类,结构复杂,char*是内置数据类型,可作为字符缓冲流,符合发送条件,可以将CString赋值给char*型CString str;
    char *sz;
    sprintf(sz,"%s",str);
      

  4.   

    刚才写错了Send((const void *)(LPCTSTR)szString, szString.GetLength(), nFlag)
    应该没问题呵呵
      

  5.   

    <Chice_wxg(VS.NET = 光驱烤肉,我也入网了)> 的方法也可以,系统会自动进行类型转换,使CString类型符合发送条件。
      

  6.   

    没问题!
    CString strMsg="Your string";
    socket.Send(strMsg,strMsg.GetLength());
      

  7.   

    可能 Chice_wxg的套路最好。
    把CString的字符串(LPCTSTR)及其长度(GetLength())提取出来。再用CSocket传送(Send)。