我遇到一个问题高手帮忙解决下

恋着宝贝的鱼 2009-05-22 04:44:37
\moblieDlg.cpp(219) : error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'char [100]' to 'LPCTSTR'这个错误是怎么回事,在vc6.0中编译都可以,到了2005就报错了。。
这一段代码是:
VOID CmoblieDlg::ReportWinsockErr(LPSTR lpszErrorMsg)
{
char m_chMsgBuffer[100];
wsprintf(m_chMsgBuffer, "\nWinsock error %d: %s\n\n", WSAGetLastError(), lpszErrorMsg);
MessageBeep(MB_ICONSTOP);
MessageBox(m_chMsgBuffer, AfxGetAppName(), MB_OK|MB_ICONSTOP);
return;
}
有没有高手帮忙解决下。
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yihan7h 2009-05-22
  • 打赏
  • 举报
回复
UNICODE
cytlyy 2009-05-22
  • 打赏
  • 举报
回复
mbtowc wctomb都可以实现TCHAR与CHAR之间的转换。
恋着宝贝的鱼 2009-05-22
  • 打赏
  • 举报
回复
小弟初学者再问一下,如果强制转换可以么?
skyge 2009-05-22
  • 打赏
  • 举报
回复
同意楼上的
在wsprintf()传入的字符串要加L"" 或TEXT“”
MessageBox()都支持的是宽字符
cytlyy 2009-05-22
  • 打赏
  • 举报
回复
char这里要用TCHAR类型替代。
TCHAR m_chMsgBuffer[100];
wsprintf(m_chMsgBuffer, L"\nWinsock error %d: %s\n\n", WSAGetLastError(), lpszErrorMsg);
cnp11 2009-05-22
  • 打赏
  • 举报
回复
unicode 编码方式问题

你转换一下 编码就可以了

7,655

社区成员

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

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