我想将 std::string
转换为小写。我知道功能 tolower()
。然而,在过去我遇到过这个函数的问题,无论如何它都不是理想的,因为将它与 std::string
一起使用需要遍历每个字符。
有没有 100% 有效的替代方案?
原文由 Konrad 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想将 std::string
转换为小写。我知道功能 tolower()
。然而,在过去我遇到过这个函数的问题,无论如何它都不是理想的,因为将它与 std::string
一起使用需要遍历每个字符。
有没有 100% 有效的替代方案?
原文由 Konrad 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
改编自 不太常见的问题:
如果不遍历每个角色,你真的不会逃脱。没有办法知道字符是小写还是大写。
如果你真的讨厌
tolower()
,这里有一个专门的 ASCII 替代方案,我不建议你使用:请注意,
tolower()
只能执行每个单字节字符的替换,这对于许多脚本来说是不合适的,尤其是在使用像 UTF-8 这样的多字节编码时。