请输入您要查询的百科知识:

 

词条 CompareNoCase
释义

CString::CompareNoCase()

函数原型

int CompareNoCase( LPCTSTR lpsz ) const; 这个函数使用lstrcmpi函数对一个CString和另一个CString进行比较。由参数lpsz指定这个用于比较的string。如果两个对象完全一致则返回0,如果小于lpsz,则返回-1,否则返回1.比如,利用CompareNoCase比较str与lpsz,等同于区分大小写比较str与lpsz的第一个相异字符,如果str该处的字符比lpsz大,则字符串str大于lpsz,返回1;如果str该处的字符比lpsz小,则字符串str小于lpsz,返回-1;str与lpsz内容完全一致则返回0。

例子

下面是MSDN上的一个例子

// example for CString::CompareNoCase

CString s1( "abc" );

CString s2( "ABD" );

ASSERT(s1.CompareNoCase( s2 ) == -1 ); // Compare with a CString.

ASSERT( s1.Compare( _T("ABE" ) ) == -1 ); // Compare with LPTSTR string.

与compare的区别

CompareNoCase为不区分大小写比较,而Compare为区分大小写比较

ATL中CString::CompareNoCase的不同

在Unicode环境下,ATL中的CString(包含头文件atlstr.h时)比较结果当双方不等于时将不再返回1或-1,而是返回两者第一处不同点的差值。如:

CString s1("12");

CString s2("28");

则此时s1.CompareNoCase(s2);的值为-1.因此,使用Unicode环境下的ATL::CString比较字符串一定要使用<=0和>=0的方式来判断大小,不能通过与1或-1的相等性来判断。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/22 6:17:38