if(!AfxSocketInit())
{
printf("加载套接字库失败!");
return;
}
SOCKET m_socket=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrTo;         CString strSend = "发送内容"; addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(4569);
addrTo.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");         sendto(m_socket,strSend,strlen(strSend)+1,0,
(SOCKADDR*)&addrTo,sizeof(SOCKADDR));         请问如何将strSend变为unicode格式发送。求代码

解决方案 »

  1.   

    wchar_t strSend=L"发送内容";
           sendto(m_socket,(char *)strSend,(wcslen(strSend)+1)*sizeof(wchar_t),0, 
    (SOCKADDR*)&addrTo,sizeof(SOCKADDR)); 
      

  2.   

    to lhcwjy:
    wchar_t strSend=L"发送内容"; 
    会报这个错
    error C2440: 'initializing' : cannot convert from 'unsigned short [100]' to 'unsigned short'
      

  3.   

    为什么要转成unicode再发送
    又浪费带宽
    不如传过去如果需要的话再转
    如果非要转的话
    用MultiByteToWideChar
      

  4.   

    写错了
    wchar_t *strSend=L"发送内容"; 
          sendto(m_socket,(char *)strSend,(wcslen(strSend)+1)*sizeof(wchar_t),0, 
    (SOCKADDR*)&addrTo,sizeof(SOCKADDR));