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)

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

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

  • 相关阅读:
    SVN 图标消失
    svn 图标不显示
    wamp 局域网访问
    php程序 注册机制
    ThinkphpCMF笔记
    thinkphp缓存
    wampserver与 thinkphp 安装
    js function集合
    php function集合
    php sleep
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1392636.html
Copyright © 2011-2022 走看看