📅  最后修改于: 2023-12-03 15:24:08.959000             🧑  作者: Mango
在 CPP 中,将字符串转换为小写有多种方法,下面我们将提供几种常用方法。
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;
}
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;
}
在 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;
}
最后,我们也可以使用一个简单的 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;
}
以上是几种将字符串转换为小写的方法,开发者可以根据需求选择适合自己的方式。