C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C中不区分大小写的标准字符串比较大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Case-insensitive string comparison in C++ [closed]31个
> Case insensitive string comparison C++ 5个
void
main()
{
    std::string str1 = "abracadabra";
    std::string str2 = "AbRaCaDaBra";

    if (!str1.compare(str2)) {
        cout << "Compares"
    }
}

我怎样才能做到这一点?基本上使上述情况不敏感.相关问题
我用Google搜索在这里

http://msdn.microsoft.com/en-us/library/zkcaxw5y.aspx

一个不区分大小写的方法String :: Compare(str1,str2,Bool).问题是这与我的工作方式有何关系.

解决方法

您可以创建谓词函数并在std :: equals中使用它来执行比较:
bool icompare_pred(unsigned char a,unsigned char b)
{
    return std::tolower(a) == std::tolower(b);
}

bool icompare(std::string const& a,std::string const& b)
{
    if (a.length()==b.length()) {
        return std::equal(b.begin(),b.end(),a.begin(),icompare_pred);
    }
    else {
        return false;
    }
}

现在你可以简单地做:

if (icompare(str1,str)) {
    std::cout << "Compares" << std::endl;
}

大佬总结

以上是大佬教程为你收集整理的C中不区分大小写的标准字符串比较全部内容,希望文章能够帮你解决C中不区分大小写的标准字符串比较所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:字符串