欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 【C++】C++实现字符串大小写转换功能

【C++】C++实现字符串大小写转换功能

2025/12/27 17:44:14 来源:https://blog.csdn.net/qq_35902025/article/details/144618610  浏览:    关键词:【C++】C++实现字符串大小写转换功能

在C++中,实现字符串大小写转换可以通过标准库中的函数来完成。以下是两种常见的方法:

使用标准库函数std::transform

std::transform是一个泛型算法,可以用来对序列中的每个元素应用一个给定的函数,并把结果存储到另一个序列中。这里我们可以使用tolowertoupper函数来转换字符的大小写。

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>std::string toLowerCase(const std::string& str) {std::string lowerCaseStr = str;std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(),[](unsigned char c){ return std::tolower(c); });return lowerCaseStr;
}std::string toUpperCase(const std::string& str) {std::string upperCaseStr = str;std::transform(upperCaseStr.begin(), upperCaseStr.end(), upperCaseStr.begin(),[](unsigned char c){ return std::toupper(c); });return upperCaseStr;
}int main() {std::string original = "Hello World!";std::string lower = toLowerCase(original);std::string upper = toUpperCase(original);std::cout << "Original: " << original << std::endl;std::cout << "Lower Case: " << lower << std::endl;std::cout << "Upper Case: " << upper << std::endl;return 0;
}

使用循环遍历字符串

如果你不想使用std::transform,也可以通过遍历字符串中的每个字符,并使用tolowertoupper函数来转换。

#include <iostream>
#include <string>
#include <cctype>std::string toLowerCase(const std::string& str) {std::string lowerCaseStr;for (char c : str) {lowerCaseStr += std::tolower(c);}return lowerCaseStr;
}std::string toUpperCase(const std::string& str) {std::string upperCaseStr;for (char c : str) {upperCaseStr += std::toupper(c);}return upperCaseStr;
}int main() {std::string original = "Hello World!";std::string lower = toLowerCase(original);std::string upper = toUpperCase(original);std::cout << "Original: " << original << std::endl;std::cout << "Lower Case: " << lower << std::endl;std::cout << "Upper Case: " << upper << std::endl;return 0;
}

这两种方法都可以实现字符串的大小写转换。第一种方法使用了标准库的std::transform函数,而第二种方法则是通过手动遍历字符串中的每个字符来实现。两种方法都是有效且常用的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词