c++

如何在C++中自定义类似于strcasecmp的功能

小樊
81
2024-08-27 13:12:02
栏目: 编程语言

在 C++ 中,你可以使用 std::string库来实现一个类似于strcasecmp` 的功能

#include<iostream>
#include<string>
#include<algorithm>

int strcasecmp(const std::string &str1, const std::string &str2) {
    std::string s1 = str1;
    std::string s2 = str2;
    
    // 将字符串转换为小写
    std::transform(s1.begin(), s1.end(), s1.begin(), ::tolower);
    std::transform(s2.begin(), s2.end(), s2.begin(), ::tolower);

    return s1.compare(s2);
}

int main() {
    std::string str1 = "Hello World";
    std::string str2 = "hello world";

    int result = strcasecmp(str1, str2);

    if (result == 0) {
        std::cout << "Strings are equal"<< std::endl;
    } else {
        std::cout << "Strings are not equal"<< std::endl;
    }

    return 0;
}

这个程序首先将两个输入字符串转换为小写,然后使用 std::string::compare() 方法进行比较。如果返回值为 0,则表示字符串相等,否则表示它们不相等。

0
看了该问题的人还看了