C++中如何对string里字母大小写转换,越简单越好

如题所述

循环遍历字符串,然后判断asc码进行转换,非字母不转换
#include <string>
#include<iostream>
using namespace std;

int main()
{
string str= "abcdADcdeFDde!@234 ";
std::cout << str << std::endl;
for(int i = 0; i < str.length(); ++i)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] = str[i] - 32;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = str[i] + 32;
}
else
{
continue;
}
}
std::cout << str << std::endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-05
,你可以BAIDU下,实在不行就自己写个,很简单)
然后把两个字符串内的字符都转换成大写或小写(C语音中好像有个_strlwr()函数)
最后在进行比较(strcmp()函数)
第2个回答  2011-04-05
c=tolower(c)
c=toupper(c)
相似回答