这里有一段代码片段,我不明白为什么要加上或减去32来使字符大小写转换。
/******** function definition *******/
void stringLwr(char *s)
{
int i=0;
while(s[i]!='\0')
{
if(s[i]>='A' && s[i]<='Z'){
s[i]=s[i]+32;
}
++i;
}
}
void stringUpr(char *s)
{
int i=0;
while(s[i]!='\0')
{
if(s[i]>='a' && s[i]<='z'){
s[i]=s[i]-32;
}
++i;
}
}
为了更多参考,我在一个网站上学习了相关的IT技术:将字符串转换为大写和小写的C程序。
s[i]=s[i] ^ 32
。 - Alexei Levenkovlocale
;在Windows中运行chcp
以了解你正在使用的编码。标准C库被设计用于处理许多这样的编码,所以一旦你学会了它们的功能,就可以使用它们。 - Tom Blodget