VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 164|回复: 4

[已解决]第二课 课后作业为什么中文是乱码

[复制链接]
86_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-1 19:36:46 | 显示全部楼层 |阅读模式
int _tmain(int argc, _TCHAR* argv[])
{
        TCHAR src[100] = { 0 };
        wcin >> src;
        MessageBox(NULL, src ,_T("提示"),MB_OK | MB_ICONWARNING);


        return 0;
}
  src接收数字和字母都正常  接收中文就显示乱码  是unicode
最佳答案
01_avatar_small
2020-4-1 21:21:33
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;

  4. int main()
  5. {
  6.         locale china("chs");//use china character
  7.         wcin.imbue(china);//use locale object

  8.         TCHAR src[100] = { 0 };
  9.         std::wcin >> src;
  10.         MessageBox(NULL, src, _T("提示"), MB_OK | MB_ICONWARNING);

  11.         return 0;
  12. }
复制代码




上一篇:MFC的剪贴板操作
下一篇:Syc第二课我编写的std怎么不是蓝色
01_avatar_middle
最佳答案
38 
online_admins 发表于 2020-4-1 21:21:33 | 显示全部楼层    本楼为最佳答案   
bestAnswer
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;

  4. int main()
  5. {
  6.         locale china("chs");//use china character
  7.         wcin.imbue(china);//use locale object

  8.         TCHAR src[100] = { 0 };
  9.         std::wcin >> src;
  10.         MessageBox(NULL, src, _T("提示"), MB_OK | MB_ICONWARNING);

  11.         return 0;
  12. }
复制代码
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-1 21:23:41 | 显示全部楼层

谢谢老大  很清晰
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-1 21:51:28 | 显示全部楼层

老大  这里用到 locale  为啥不要#include  locale这个
01_avatar_middle
最佳答案
38 
online_admins 发表于 2020-4-1 21:59:18 | 显示全部楼层
star0angel 发表于 2020-4-1 21:51
老大  这里用到 locale  为啥不要#include  locale这个

如果编译不过去,可以加上:
  1. #include <locale>
复制代码
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-8-9 13:37

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表