C++ 中不区分大小写的字符串比较

c++server side programmingprogramming

在 C++ 中,我们在标准库中有字符串。在这个程序中,我们将了解如何检查两个字符串是否相同。在这种情况下,我们将忽略大小写。

这里的逻辑很简单。我们将整个字符串转换为小写或大写字符串,然后比较它们,并返回结果。

我们已经使用算法库来获取转换函数,将字符串转换为小写字符串。

输入:两个字符串"Hello WORLD"和"heLLO worLD"
输出:字符串相同

算法

步骤 1:取两个字符串 str1 和 str2
步骤 2:将 str1 和 str2 转换为小写形式
步骤 3:比较 str1 和 str2
步骤 4:结束

示例代码

#include<iostream>
#include <algorithm>
using namespace std;
int case_insensitive_match(string s1, string s2) {
   //将 s1 和 s2 转换为小写字符串
   transform(s1.begin(), s1.end(), s1.begin(), ::tolower);
   transform(s2.begin(), s2.end(), s2.begin(), ::tolower);
   if(s1.compare(s2) == 0)
      return 1; //字符串相同
   return 0; //不匹配
}
main() {
   string s1, s2;
   s1 = "Hello WORLD";
   s2 = "heLLO worLD";
   if(case_insensitive_match(s1, s2)) {
      cout << "Strings are same";
   }else{
      cout << "Strings are not same";
   }
}

输出

Strings are same

相关文章