我尝试检查是否variable
以expression
.
我目前的代码是这样的:
(strchr(variable.data(), tolower(expression[0])) || strchr(variable.data(), toupper(expression[0]))) && _stricmp((strrchr(variable.data(), tolower(expression[0]))? strrchr(variable.data(), tolower(expression[0])) : strrchr(variable.data(), toupper(expression[0]))), expression.data()) == 0
有用。但是使用不区分大小写的版本strrchr
andstrchr
我可以简化它。wcsrchr
我还需要wcsrchr
UTF16 字符串的不区分大小写版本:
(wcschr(variable.data(), tolower(expression[0])) || wcschr(variable.data(), toupper(expression[0]))) && _wcsicmp((wcsrchr(variable.data(), tolower(expression[0])) ? wcsrchr(variable.data(), tolower(expression[0])) : wcsrchr(variable.data(), toupper(expression[0]))), expression.data()) == 0
我愿意接受其他简化。
我无法编写其他方法,因为主程序是用 c# 编写的 vs 扩展。