做一些,字符串函数的应用。
/串a中所有子串b换成子串c/
char* mreplace(char* a, char* b, char* c)
{
int i = strlen(b);
char* p1 = a, d[81], * p2 = d;
while (p1)
{
p1 = strstr(p1, b);
if (p1)
{
strcpy_s(p2, 80, c);
strcat_s(p2, 80, p1 + i);
strcpy_s(p1, 167, p2);
}
}
return a;
}
char* mdelete(char* a, char* b) /*删除串a中所有子串b*/
{
int n;
char* p=a;
n = mstrlen(b);
while (p)
{
p = mstrstr(a, b);
while (*p++!='\0')
{
*p = *(p + n);
}
p = mstrstr(a, b);
}
return a;
}
int wordnum(char* a)/*一篇文章中单词个数*/
{
char *p=a;
int i = 0;
if (*p == ' ') p++;
while (*p++)
{
if (*p == ' '&& *(p + 1) != ' ')
i++;
}
return i + 1;
}
int msplit(char* a, char* b, char c[20][20])
/*字符串以字符b分割若干子串存入c中*/
{
char* p1=a, * p2;
int i=0,j=0,n,m;
while (*p1 != '\0')
{
p2 = mstrstr(p1, b);
n = p2 - p1;
if(!n)
{
p1++;
*(*(c + j)) ='1';
j++;
}
else if (*p2 == '\0')
{
while(!*p1)
*(*(c + j) + i) = *p1++;
}
else
{
for (i = 0; i < n; i++)
*(*(c + j) + i) = *p1++;
j++;
}
}
return j;
}