请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

mac上输出宽字符串

wchar_t src[] = L"HelloWorld";
wprintf(L"%s\n", src);

老师您好,请问下我在mac系统上找不到_putws函数,使用wprintf函数输出宽字符串时,仅能输出第一个字符。mac下怎么输出宽字符串?
图片描述

正在回答 回答被采纳积分+3

2回答

提问者 manbaneverout 2021-06-26 12:12:43

https://img1.sycdn.imooc.com//szimg/60d6a81d08f1651808460110.jpg

老师,设置成功返回zh_CN,但是输出去还是只有第一个字符和乱码,这是在命令行运行的结果

1 回复 有任何疑惑可以回复我~
  • 感觉还是设置得不对,返回应该是类似于 zh_cn.utf-8这种。你去搜搜mac上设置locale?
    回复 有任何疑惑可以回复我~ 2021-06-26 12:54:56
  • en_US.UTF-8  或者 zh_CN.UTF-8,试试看,不行的话也不用纠结,控制台打印不出来大概率还是还是把宽字符当窄字符打印了。这块儿内容了解即可,用到的场景不算多。
    回复 有任何疑惑可以回复我~ 2021-06-26 12:57:14
  • 另外,建议同学提问的时候把自己的完整的代码页贴出来,不然没法帮你分析。。。
    回复 有任何疑惑可以回复我~ 2021-06-26 12:58:29
bennyhuo 2021-06-26 00:31:59

设置一下locale试试

0 回复 有任何疑惑可以回复我~
  • 提问者 manbaneverout #1
    老师设置了结果还是一样
    回复 有任何疑惑可以回复我~ 2021-06-26 00:57:42
  • bennyhuo 回复 提问者 manbaneverout #2
    我现在手头没有mac没法帮你验,你在设置locale的时候注意下确保设置成功,返回值如果为null就表示没有设置成功。
    
    还有一种可能是Clion的控制台的问题,可以试试命令行直接运行看看输出结果是否正确。
    回复 有任何疑惑可以回复我~ 2021-06-26 07:49:42
  • 提问者 manbaneverout 回复 bennyhuo #3
    老师我命令行结果放在回答里了,还是等您有mac的时候再帮我看看?麻烦您了
    回复 有任何疑惑可以回复我~ 2021-06-26 12:13:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信