zoukankan      html  css  js  c++  java
  • strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l, setlocale(LC_CTYPE, "Japanese_Japan")(MSDN的官方示例)

    // crt_strlen.c  
    // Determine the length of a string. For the multi-byte character  
    // example to work correctly, the Japanese language support for  
    // non-Unicode programs must be enabled by the operating system.  
      
    #include <string.h>  
    #include <locale.h>  
      
    int main()  
    {  
       char* str1 = "Count.";  
       wchar_t* wstr1 = L"Count.";  
       char * mbstr1;  
       char * locale_string;  
      
       // strlen gives the length of single-byte character string  
       printf("Length of '%s' : %d
    ", str1, strlen(str1) );  
      
       // wstrlen gives the length of a wide character string  
       wprintf(L"Length of '%s' : %d
    ", wstr1, wcslen(wstr1) );  
      
       // A multibyte string: [A] [B] [C] [katakana A] [D] []  
       // in Code Page 932. For this example to work correctly,  
       // the Japanese language support must be enabled by the  
       // operating system.  
       mbstr1 = "ABC" "x83x40" "D";  
      
       locale_string = setlocale(LC_CTYPE, "Japanese_Japan");  
      
       if (locale_string == NULL)  
       {  
          printf("Japanese locale not enabled. Exiting.
    ");  
          exit(1);  
       }  
       else  
       {  
          printf("Locale set to %s
    ", locale_string);  
       }  
      
       // _mbslen will recognize the Japanese multibyte character if the  
       // current locale used by the operating system is Japanese  
       printf("Length of '%s' : %d
    ", mbstr1, _mbslen(mbstr1) );  
      
       // _mbstrlen will recognize the Japanese multibyte character  
       // since the CRT locale is set to Japanese even if the OS locale  
       // isnot.   
       printf("Length of '%s' : %d
    ", mbstr1, _mbstrlen(mbstr1) );  
       printf("Bytes in '%s' : %d
    ", mbstr1, strlen(mbstr1) );     
      
    }  

    https://msdn.microsoft.com/en-us/library/78zh94ax.aspx

  • 相关阅读:
    Alice and Bob 要用到辗转相减
    Java经典设计模式
    设计模式---创建类---建造者模式
    luogu4267 TamingtheHerd (dp)
    nowcoder172C 保护 (倍增lca+dfs序+主席树)
    nowcoder172A 中位数 (二分答案)
    bzoj4985 评分 (二分答案+dp)
    luogu4269 Snow Boots G (并查集)
    luogu4268 Directory Traversal (dfs)
    bzoj1001/luogu4001 狼抓兔子 (最小割/平面图最小割转对偶图最短路)
  • 原文地址:https://www.cnblogs.com/findumars/p/7296544.html
Copyright © 2011-2022 走看看