关于vs2005开发的问题。。第一次用。

恋着宝贝的鱼 2009-05-23 10:50:23
vs2005中:'inet_addr' : cannot convert parameter 1 from 'CString' to 'const char *'这个错误是怎么回事?有没有高手给解决下啊?
代码如下:
之前定义了一个CString m_csIP;

然后在这个调用中就出错了:
void CmoblieDlg::OnSocketConnect()
{
WSADATA wsaData;
DWORD dwIPAddr;
SOCKADDR_IN sockAddr;

if((dwIPAddr=inet_addr(m_csIP))==INADDR_NONE)
{
MessageBox(L"IPAddress is error!\nPlease input again!",NULL,MB_OK);
return;
}
}

这个字符怎么转换啊?
...全文
66 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
恋着宝贝的鱼 2009-05-24
  • 打赏
  • 举报
回复
谢谢高手们,我去试试。
xujun82118 2009-05-24
  • 打赏
  • 举报
回复
楼主多试一下就可以了。。。比如用楼上的方法
儿大不由爷 2009-05-23
  • 打赏
  • 举报
回复
windows mobile 开发?
那CString 中的字符是Unicode的,当然不可能直接转到const char *了。
用WideCharToMultiByte 去转吧
peterb 2009-05-23
  • 打赏
  • 举报
回复
char str [256] = {(char)0xE4, (char)0xBD, (char)0xA0, (char)0xE5, (char)0xA5, (char)0xBD,
(char)0x61, (char)0x62, (char)0x63, (char)0} ; //一段UTF-8编码
WCHAR* strA;
int i= MultiByteToWideChar(CP_UTF8, 0 ,(char*) str ,-1 ,NULL,0);
strA = new WCHAR[i];
MultiByteToWideChar(CP_UTF8, 0 ,( char * ) str, -1, strA, i);
i= WideCharToMultiByte(CP_ACP,0,strA,-1,NULL,0,NULL,NULL);
char *strB=new char[i];
WideCharToMultiByte (CP_ACP,0,strA,-1,strB,i,NULL,NULL);
//strB即为所求
AfxMessageBox(strB);
delete []strA;
delete []strB;
PinkDream20070628 2009-05-23
  • 打赏
  • 举报
回复
1楼true解

7,659

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧