这是山塔的替代品

Is this an alternative to tolower?

本文关键字:替代品 山塔      更新时间:2023-10-16

i正在解决一个非常简单的问题,将字符串中的字符转换为小写,我显然使用了 tolower()。但是,我看到有人使用它,这是一个公认的解决方案。

这是CPP中tolower()功能的替代方法吗?如果是这样,为什么?

引用问题:https://atcoder.jp/contests/abc126/tasks/abc126_a

#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
    // We want to convert "ABC" to "aBC"
    string S = "ABC";
    S[0] += 0x20;
    // Returns "aBC"
    cout << S << endl;
    return 0;
}

这是简单的ASCII操纵。您会看到,大写A的ASCII值是65,较低的情况为97。如果将32(0x20 in hex(添加到65,则获得97,较低的情况a。

当大写和小写字母中的所有字母中的所有字母均连续布置,您只需要在任何大写字母中添加32或0x20