我显然解决了一个非常简单的问题,即将字符串中的字符转换为小写tolower()。但是,我看到有人使用它,这是一个公认的解决方案。
这是tolower()cpp中功能的替代方法吗?如果是这样,为什么?
对问题的引用: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;
}
Run Code Online (Sandbox Code Playgroud)
这是简单的ASCII操作。您会看到,大写字母A的ASCII值为65,小写字母a的值为97。如果将65(十六进制的0x20)加到65,则得到97,小写字母a。
由于所有大写字母和小写字母都是连续排列的,因此您只需要在任何大写字母上加上32或0x20即可得到小写字母。
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |