MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType) 参数类型问题

yifanwu 2005-03-07 09:31:52
MessageBoxW(HWND hWnd, PCWSTR pszText, LPCWSTR pszCaption,UINT uType)的

pszText 是PCWSTR(unsigned short *)

怎么样转换成char *?

因为那是一个字符串,为什么要用这种类型呢?

我直接cout<<pszText 时,输出的是地址值
...全文
218 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjh1982 2005-03-08
  • 打赏
  • 举报
回复
奶油狗回归啦! 好久未见啊
yifanwu 2005-03-07
  • 打赏
  • 举报
回复
怎么样解决呀!

unicode的问题
yifanwu 2005-03-07
  • 打赏
  • 举报
回复
我测试出问题在那里了!

如果pszText中有中文就是地址;如果全是英文就是正确的!


yifanwu 2005-03-07
  • 打赏
  • 举报
回复
用宏TEXT 结果一样,还是地址。


用wcout<<pszText 编译出错:error C2065: 'wcout' : undeclared identifier
yjh1982 2005-03-07
  • 打赏
  • 举报
回复
wcout和cout在同一文件啊
hjian 2005-03-07
  • 打赏
  • 举报
回复
用宏TEXT:
cout << TEXT(pszText)
yifanwu 2005-03-07
  • 打赏
  • 举报
回复
cout<<(char*)pszText 输出的是乱码!(pszText包含中文)

wcout怎么使用?要include什么头文件吗?我直接写不行
yjh1982 2005-03-07
  • 打赏
  • 举报
回复
wcout<<pszText
Dong 2005-03-07
  • 打赏
  • 举报
回复
cout<<(char*)pszText ??
fireseed 2005-03-07
  • 打赏
  • 举报
回复
如果可以用CString的话这样:

LPCWSTR lpOrg = L"test";
CStringA AnsiStr( lpOrg );
cout << (LPCTSTR)AnsiStr;

如果不可以用的话,用WideCharToMultiByte(),这个比较麻烦,一般要调用两次,自己查MSDN吧
fireseed 2005-03-07
  • 打赏
  • 举报
回复
MessageBoxW( NULL, L"Context", L"Caption", 0 );

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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