📌  相关文章
📜  如何在 cpp 中将字符串转换为小写 - C++ (1)

📅  最后修改于: 2023-12-03 15:24:08.959000             🧑  作者: Mango

如何在 CPP 中将字符串转换为小写 - C++

在 CPP 中,将字符串转换为小写有多种方法,下面我们将提供几种常用方法。

方法 1:使用 std::transform 函数

可以使用 std::transform 函数将字符串中的每个字符都转为小写。

#include <algorithm>
#include <string>

// 将字符串转换为小写
std::string toLowerCase(const std::string& str) {
    std::string result = str;
    std::transform(str.begin(), str.end(), result.begin(),
                   [](unsigned char c) { return std::tolower(c); });
    return result;
}
方法 2:使用 std::locale 对象

CPP 中一个可移植的方式是使用 std::locale 对象,这种方式可以将字符串转换为小写,并让程序支持所有语言和字符集。但是这种方式会比较慢。

#include <cctype>
#include <locale>
#include <string>

// 将字符串转换为小写
std::string toLowerCase(const std::string& str) {
    std::string result = str;
    std::locale loc;
    for (std::string::size_type i = 0; i < result.length(); ++i) {
        result[i] = std::tolower(result[i], loc);
    }
    return result;
}
方法 3:使用外部库

在 CPP 中也有一些第三方库可以用来字符串操作。例如,可以使用 Boost 库中的 to_lower 函数。

#include <boost/algorithm/string.hpp>
#include <string>

// 将字符串转换为小写
std::string toLowerCase(const std::string& str) {
    std::string result = str;
    boost::algorithm::to_lower(result);
    return result;
}
方法 4:使用一个简单的 for 循环

最后,我们也可以使用一个简单的 for 循环来实现字符串转换为小写的操作。

#include <cctype>
#include <string>

// 将字符串转换为小写
std::string toLowerCase(const std::string& str) {
    std::string result = str;
    for (int i = 0; i < result.length(); i++) {
        result[i] = tolower(result[i]);
    }
    return result;
}

以上是几种将字符串转换为小写的方法,开发者可以根据需求选择适合自己的方式。