mfc cstring Compare
时间: 2023-07-16 20:16:59 浏览: 218
在 MFC 中,CString 类有一个成员函数 Compare,该函数用于比较两个 CString 对象的内容。其函数原型如下:
```cpp
int Compare(LPCTSTR lpsz) const;
int Compare(LPCTSTR lpsz, int nLength) const;
int Compare(const CString& str) const;
```
第一个版本的 Compare 用于将当前 CString 对象与指定的字符串进行比较。第二个版本的 Compare 用于将当前 CString 对象的一部分(从第一个字符开始,长度为 nLength 个字符)与指定的字符串进行比较。第三个版本的 Compare 用于将当前 CString 对象与另一个 CString 对象进行比较。
这些函数返回的值表示两个字符串的关系,具体如下:
- 如果当前 CString 对象小于指定的字符串或 CString 对象,则返回一个负整数。
- 如果当前 CString 对象等于指定的字符串或 CString 对象,则返回 0。
- 如果当前 CString 对象大于指定的字符串或 CString 对象,则返回一个正整数。
例如,以下代码将比较两个 CString 对象的内容:
```cpp
CString str1 = _T("hello");
CString str2 = _T("world");
int result = str1.Compare(str2);
if (result < 0)
AfxMessageBox(_T("str1 is less than str2"));
else if (result == 0)
AfxMessageBox(_T("str1 is equal to str2"));
else
AfxMessageBox(_T("str1 is greater than str2"));
```
在这个例子中,由于 str1 小于 str2,因此 Compare 返回一个负整数,result 的值为负数,所以会显示 "str1 is less than str2"。
阅读全文