因为msg是一个CString的类,不是一个字符串,而send函数的第一个参数要char*类型的,所以会出错!

解决方案 »

  1.   

    CString 的使用是基本功呀!
      

  2.   

    不会地, 用CString是可以的。 如果你是UNICODE工程
    在WATCH窗口只显示第一个字符。 
    输出看看吧。
      

  3.   

    CString msg = "this is a test";
    Send(nSocket,(LPCTSTR)msg,msg.GetLength());//that's ok.
      

  4.   

    Send(nSocket,(LPCTSTR)msg,msg.GetLength(),0);//that's ok.
      

  5.   

    就算可以啊,也不会这样用吧,CString这鸟东西最不好了
      

  6.   

    to ydogg:我也试过(LPCTSTR),但我现在是在WinCE上开发,会报unsigned short * 无法转为const char * 的错
      

  7.   

    to dockbar(dock) :在Server端也没有正常显示, 你是指,在UNICODE的情况下第二个字节就不会被显示了吗??
      

  8.   

    Send(nSocket,(char*)msg,msg.GetLength(),0);//
      

  9.   

    或者用CString的format方法把msg转换成char*类型