控制台输出中文字符串乱码的问题

今天学着做多线程,用控制台做简单程序。我只是一个编程爱好者,以前做的小程序都是直接windows界面的程序做的,最讨厌控制台程序,今天玩了一把,真是坑啊,COUT竟然不能输出字符串,除非直接在双引号内填加字符,用字符串数组就不行了。于是尝试用printf,不行,乱码,网上一查,_tprintf,用了,无效,S%输出第一个字母,s%输出字符串,乱码。有人说什么”控制台的默认代码页通常是 437,即旧的 IBM PC 代码页,这是在欧洲采用新货币之前设计的机器。您必须将控制台切换到另一种具有字符 SetConsoleOutputCP() 的编码。“我的系统是中文系统,我可以用控制台输出汉字,所以这个应该没什么道理。我加了一行SetConsoleOutputCP(936);果然没用。后来还是有高人说得加 

 _setmode(_fileno(stdout), _O_WTEXT);

有效,成功输出汉字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值