码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-09 17:17:34      阅读:140      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!