c字符串题,实现首字母小写转大写

来源:互联网 发布:有道云mac 隐藏侧边栏 编辑:程序博客网 时间:2024/06/05 20:04
/*
1 编写一个业务函数,实现字符串(前后各有三个空格,单词前后也均有空格)
"   i am student, you are teacher   " ,
各个单词首字符大写,结果如下"   I Am Student, You Are Teacher   " ,
要求1:实现所有接口  70
要求2:写出测试程序  30

*/


第一个是我自己写的,第二个是老是交的

int GetString1(const char* src, char* strout){char *p1 = NULL;int ncount, i = 0;if (!src || !strout){return 0;}ncount = strlen(src);strcpy(strout, src);p1 = strout;do {p1 = strstr(p1, " ");if (!p1){break;}p1++;if (*p1 != ' '){if(*p1 >= 'a' && *p1 <= 'z') *p1 -= 32;}} while (p1);return 1;}

int GetString2(const char* str1, char* str2)
{
char *p1 = NULL, *p2 = NULL;
int len = 0, i = 0;


if (str1 == NULL || str2 == NULL)
{
return -1;
}
len = strlen(str1);
strcpy(str2, str1);
if (len <1 )
{
return -1;
}
p1 = str2 +1;
p2 = str2;
for (i=0; i<len; i++)
{
if (isalpha(*p1) && isspace(*p2))
{
*p1 = *p1 - 32 ;
}
p1++;
p2++;
}
return 0;
}


0 0