zoukankan      html  css  js  c++  java
  • C 使用wprintf,_tprintf 打印简体中文的方法 【Locale.h】

    {
    char* paName = "测试中";
            wchar_t* pwName = L"测试中";
           
            printf(paName); //输出为:测试中
            wprintf((wchar_t*)paName); //输出为:空
          
            printf((char*)pwName); //输出为:乱码
            wprintf(pwName); //输出为:空
        }
        如果将程序改写如下,则输出的结果就不一样了
        {
    char* paName = "测试中";
            wchar_t* pwName = L"测试中";
           
           setlocale(LC_ALL, "chs");
          
            printf(paName); //输出为:测试
            wprintf((wchar_t*)paName); //输出为:空
           
            printf((char*)pwName); //输出为:乱码
            wprintf(pwName); //输出为:测试
        }
        从上面两个代码片断可以看出:setlocale()对printf()没有影响,同时对char*的字符串也没有影响。唯一受到影响的是wprintf()这个函数了。我通过调试器查看了paName和pwName的字符,他们分别是:

           paName :b2e2 cad4 d6d0 …… 应该是CHS编码(也就是代码页936)

          -------------------

          以上是网上找到的解决方法

  • 相关阅读:
    C#之获取本地IP地址
    C#中对Excel进行操作
    C#中的TCP通讯与UDP通讯
    Flex 学习
    正则表达式实例
    sass调试--页面看到sass文件而不是css文件问题
    webpack+vue-loader 在单独.vue组件中使用sass-loader编译sass报错问题not a valid Win32 applictation
    SVG图案填充-Pattern
    jQuery小技巧
    代码整洁一
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1392636.html
Copyright © 2011-2022 走看看