• 宽字符输出中文,Devc++解决方法


    有群友问类似问题,然后我编译了一下试试:

    #include <stdio.h>
    #include <wchar.h>
    #include <locale.h>
    
    int main(void){
        wchar_t aa[] =L"测试看看asdf1234";
        wchar_t *bb =L"C语言2333kkkdkkd";
    
        //将本地环境设置为简体中文
        setlocale(LC_ALL,"chs");
        //使用通用的 wprintf 输出宽字符
        wprintf(L"1: %ls 
    2: %ls
    ",aa,bb);
        
    }

    正当我嘴角疯狂上扬时......

    小朋友,你是否有很多问号???

    好了,查了一下(百度),发现是编码不符合。

    dev里的编码之前我也证明过,是ANSI,宽字符很明显不能兼容。

    解决方法:在编译时加入一点参数

    很好,接下来就能编译成功了!

    其实,有个问题我没说,就是setlocale(LC_ALL,"chs");这句

    其中的chs代表中国地区,而不是zh_CN的写法,如果不加这句,就是系统默认的区域

    如果你的系统设置的是中国,那么setlocale(LC_ALL,"");的效果就等同于setlocale(LC_ALL,"chs");

    具体细节请自行查询,编码这块实在是一个蛋疼的地方呢。

  • 相关阅读:
    什么是 Native、Web App、Hybrid、React Native和Weex?
    什么是 Native、Web App、Hybrid、React Native和Weex?
    线性表—使用链表实现
    Twins:眼红红
    产品中心
    Koa 学习
    乐山大佛
    Ftp Centos · GitBook
    install jekyll
    MIZ702N开发环境的准备1
  • 原文地址:https://www.cnblogs.com/pta00/p/12970898.html
Copyright © 2020-2023  润新知