一个宽字符用wprintf输出正常,putwchar不能正常输出

lwj7423 2017-09-13 10:44:27
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>

void main()
{
setlocale(LC_ALL, "zh-CN");

wchar_t chs ;
chs = L'我';
putwchar(chs);
wprintf(L"%lc", chs);


system("pause");
}

IDE是VS2015;求解决办法
...全文
300 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
沐阳2100 2017-09-22
  • 打赏
  • 举报
回复
统一改成Use Multi-Byte Character Set算了
  • 打赏
  • 举报
回复
引用 9 楼 SL091210 的回复:
[quote=引用 4 楼 zjq9931 的回复:] [quote=引用 2 楼 lwj7423 的回复:] 还是不行,感觉应该是IDE有所更改;主要问题应该还是在VS2015上面
我用VS2015也是可以的啊。[/quote] 我用2015也是不行啊,气死我了[/quote] 应当是源文件编码的问题,另存成ANSI编码的源文件,然后再编译就可以了。
丶他的琴 2017-09-21
  • 打赏
  • 举报
回复
引用 4 楼 zjq9931 的回复:
[quote=引用 2 楼 lwj7423 的回复:] 还是不行,感觉应该是IDE有所更改;主要问题应该还是在VS2015上面
我用VS2015也是可以的啊。[/quote] 我用2015也是不行啊,气死我了
丶他的琴 2017-09-21
  • 打赏
  • 举报
回复
引用 7 楼 zhao4zhong1 的回复:
估计是楼主的Win10该升级或重装一个稳定版本了。
老师你好,我也和楼主一样的情况,我粘贴您的代码也是putwchar无法显示,wprintf可以显示,请问原因有可能是什么呢
赵4老师 2017-09-19
  • 打赏
  • 举报
回复
估计是楼主的Win10该升级或重装一个稳定版本了。
  • 打赏
  • 举报
回复
vs2015,VC++编译器19.00.24210,用32位和64位编译器编译楼主的代码,结果均正常。
  • 打赏
  • 举报
回复
引用 2 楼 lwj7423 的回复:
还是不行,感觉应该是IDE有所更改;主要问题应该还是在VS2015上面
如果还是不行,有可能是你的.cpp文件用的是其他编码的。 你可以用记事本打开以下,然后另存成ANSI编码,然后用另存的这个文件编译输出试试。
  • 打赏
  • 举报
回复
引用 2 楼 lwj7423 的回复:
还是不行,感觉应该是IDE有所更改;主要问题应该还是在VS2015上面
我用VS2015也是可以的啊。
赵4老师 2017-09-18
  • 打赏
  • 举报
回复
反正我用WinXP+VC6是行的。
lwj7423 2017-09-15
  • 打赏
  • 举报
回复
还是不行,感觉应该是IDE有所更改;主要问题应该还是在VS2015上面
赵4老师 2017-09-13
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>

void main()
{
setlocale(LC_ALL, "chs");

wchar_t chs ;
chs = L'我';
putwchar(chs);
wprintf(L"%c", chs);
fflush(stdout);

system("pause");
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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