/*
1 编写一个业务函数,实现字符串(前后各有三个空格,单词前后也均有空格)
" i am student, you are teacher " ,
各个单词首字符大写,结果如下" I Am Student, You Are Teacher " ,
要求1:实现所有接口 70
要求2:写出测试程序 30
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;
}
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;
}