词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。