CompareNoCase

CStrin CStrin CStrin

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的相等性來判斷。

相關詞條

相關搜尋

熱門詞條

聯絡我們