zoukankan      html  css  js  c++  java
  • VC中支持中文的字符串比较函数

    VS2008开发环境,多字符集和UNICODE字符集都可用。

    WCHAR * mbcsToUnicode(const char *zStr)  
    {  
        int nByte;  
        WCHAR *zMbcsStr;  
        int codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;  
        nByte = MultiByteToWideChar(codepage, 0, zStr, -1, NULL,0)*sizeof(WCHAR);  
        zMbcsStr = (WCHAR*)malloc( nByte*sizeof(zMbcsStr[0]) );  
        if( zMbcsStr==0 )  
            {  
            return 0;  
        }  
        nByte = MultiByteToWideChar(codepage, 0, zStr, -1, zMbcsStr, nByte);  
        if( nByte==0 )  
            {  
            free(zMbcsStr);  
            zMbcsStr = 0;  
        }  
        return zMbcsStr;  
    }  
      
    BOOL CompareStr(CStringA S1, CStringA S2)  
    {  
        WCHAR* wa;  
        WCHAR* wb;  
        wa = mbcsToUnicode(S1.GetBuffer());  
        wb = mbcsToUnicode(S2.GetBuffer());  
        return CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE, (LPCWSTR)wa, wcslen(wa), (LPCWSTR)wb, wcslen(wb)) - CSTR_EQUAL == 1;  
    }

    参考:http://blog.csdn.net/dbyoung/article/details/7716086

  • 相关阅读:
    java io
    java 线程
    java 引用
    spring面试合集
    jvm(6):JMM
    jvm(n):JVM面试
    jvm(5):类加载机制
    jvm(4):类文件结构
    C# UDP编程简介
    Facebook 对 Memcache 伸缩性的增强
  • 原文地址:https://www.cnblogs.com/findumars/p/4410003.html
Copyright © 2011-2022 走看看