首页 > 其他 > 详细

VC中支持中文的字符串比较函数

时间:2015-04-09 17:16:28      阅读:237      评论:0      收藏:0      [点我收藏+]

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

VC中支持中文的字符串比较函数

原文:http://www.cnblogs.com/findumars/p/4410003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!