char* 赋值中文,然后用mbstowcs到wchar_t*中文转换。wchar_t*不能正确显示,为什么?

xushuwen1979 2006-06-09 07:45:26
#include <iostream>
using namespace std;

int main()
{
char mbs[100] = "中国";
wchar_t wcs[50];
mbstowcs(wcs, mbs, 100);
wprintf(wcs);
}





...全文
813 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxav21 2006-12-27
  • 打赏
  • 举报
回复
这个问题我evc环境下发现
至今也没有解决
jixingzhong 2006-12-27
  • 打赏
  • 举报
回复
locale(L_ALL, "chs");
或者
setlocale( LC_ALL, "chs" );
todototry 2006-12-27
  • 打赏
  • 举报
回复
mbstowcs()存在这个问题
multibatestowidechar()则可以再任何情况适用
个人意见,高手多多指教
chenglei1114 2006-12-27
  • 打赏
  • 举报
回复
setlocale试一下
wowRicky 2006-12-27
  • 打赏
  • 举报
回复
可能工程设置的字符集[Character Set]问题
linuxav21 2006-12-27
  • 打赏
  • 举报
回复
unicode问题
C++ processeror definitions
_UNICODE
langzi8818 2006-06-10
  • 打赏
  • 举报
回复
顶下
中国Press any key to continue
lk_517 2006-06-09
  • 打赏
  • 举报
回复
没有问题吧
你建立的是空项目吧
TrueZq 2006-06-09
  • 打赏
  • 举报
回复
VC下正确显示:
中国Press any key to continue

“wchar_t*不能正确显示 ”--什么现象?
jixingzhong 2006-06-09
  • 打赏
  • 举报
回复
如果是在 VC 中,
注意你的环境选项 ....
jixingzhong 2006-06-09
  • 打赏
  • 举报
回复
如果是在 VC 中,
注意你的环境选项 ....
jixingzhong 2006-06-09
  • 打赏
  • 举报
回复
程序在 DEV C++ 中正确 ....
elangqzy 2006-06-09
  • 打赏
  • 举报
回复
需要在工程的设置里边设置成not using precompiled headers.
elangqzy 2006-06-09
  • 打赏
  • 举报
回复
#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
char mbs[100] = "中国";
wchar_t wcs[50];
mbstowcs(wcs, mbs, 100);
wprintf(wcs);
return 0;
}
输出正确,且不知楼上所遇什么问题?

64,637

社区成员

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

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