|
VC++MFC检测CString是否相等,不区分大小写
在MFC中检测CString是否相等(不区分大小写)可通过以下方法实现:
使用CompareNoCase方法(推荐)
直接调用CString类的成员函数,返回0表示相等:
- CString str1 = "Hello";
- CString str2 = "hElLo";
- if (str1.CompareNoCase(str2) == 0) {
- // 字符串相等
- }
复制代码
转换为统一大小写后比较
通过MakeUpper()或MakeLower()标准化字符串后比较:
- CString strA = "AbC", strB = "aBc";
- strA.MakeUpper();
- strB.MakeUpper();
- if (strA == strB) {
- // 字符串相等
- }
复制代码
使用_stricmp函数
需将CString转为const char*后调用:
- if (_stricmp(str1.GetString(), str2.GetString()) == 0) {
- // 字符串相等
- }
复制代码
注意事项:
CompareNoCase是MFC原生方法,无需额外转换,性能最优;
若需兼容非MFC环境,可选用_stricmp或大小写转换方案;
Unicode项目需使用_wcsicmp替代_stricmp。
二者的使用方法如下:C++中_stricmp和_wcsicmp的示例代码及说明
|
|