正如题主所说。
在 C++ 中,尝试比较字符串“==”或 CString.Find() 时哪个更好?
我有一个混合的大型应用程序 C++ 和 C# 代码。
我不是 C++ 开发人员。但我可以根据需要阅读和修改代码。
在 C++ 模块中,我们使用了很多 if ( A ==_T("B") then {}
,其中“A”是 CString 类型。
我发现 CString 有一个内置的 .find
方法,我想知道它是否是一个更好的选择。
谢谢
最佳答案
将 ==
与 CString::Find
进行比较不是同类:运算符 ==
检查相等性,而 Find
在第二个时返回 true
字符串包含在第一个中:
// A: "hello"
// B: "hell"
A == _T(B) // FALSE
A.Find(B) // TRUE
作为 ==
的替代方法,您可以使用 CString::Compare
方法,并检查它返回的结果是否为零:
A.Compare(B) == 0 // FALSE
关于C++ 在尝试比较字符串 "=="或 CString.Find() 时什么更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53780604/