我是c++新手,写了两个字符串首字母大小写转变的函数,参数分别为char和string,做的重载,但代码还是有些重复,希望有什么方法可以压缩成一个函数。
int capitalize(string *str)
{
string &s = *str;
if (s[0] == '\0')
{
return 1;
}
else if(!((s[0] >65&&s[0] <90)||(s[0]>97&& s[0]<122)))
{
return 2;
}
else
{
s[0] = s[0] > 90 ? s[0] - 32 : s[0] + 32;
return 0;
}
}
int capitalize(char *s)
{
if (s[0] == '\0')
{
return 1;
}
else if (!((s[0] > 65 && s[0] < 90) || (s[0] > 97 && s[0] < 122)))
{
return 2;
}
else
{
s[0] = s[0] > 90 ? s[0] - 32 : s[0] + 32;
return 0;
}
}
int main()
{
char s[] = "p3456we";
int i= capitalize(s);
cout << i << endl;
cout << s << endl;
return 0;
}