将字符串转换为小写

C++:
将字符串转换为小写

How to: (如何操作:)

将字符串转换成小写可以使用 <algorithm> 头文件中的 std::transform() 函数。看下面的例子:

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

int main() {
    std::string data = "Hello World!";
    std::transform(data.begin(), data.end(), data.begin(),
        [](unsigned char c){ return std::tolower(c); });

    std::cout << data << std::endl; // 输出: hello world!
    return 0;
}

这段代码会输出全部小写的字符串 “hello world!"。

Deep Dive (深入探讨)

早期C++语言中,处理字符串大小写转换可能需要手动遍历每个字符。后来,随着标准库的发展,<algorithm> 头文件提供了 std::transform() 函数简化这个过程。其他方法包括使用C语言风格的 std::tolower 函数逐个字符转换。

注意 std::tolower 使用 unsigned char 类型来避免负值的字符可能导致的未定义行为。如果需要考虑国际化和本土化需求,你可能需要使用 std::locale 类和 std::use_facet

See Also (另请参阅)