char * strstr(const char *s1,const char *s2)
{
int i,j,k;
for(i=0; s1[i]; i++)
for(j=i,k=0; s1[j]==s2[k]; j++,k++)
if(!s2[k+1])
return(s1+i)
return(NULL);
}
strstr_cnt函数 作用是计算字符串出现的次数 实现差不多是strstr 和cnt的组合 : )
substring_index函数 作用是给子字符串获取索引 只要将strstr的返回值改成i就可以了 : )
r_strstr函数 作用是获取子字符串最右端出现 和strstr差不多 然后参照一般的查找最右端的函数 : )
strstr_rem函数 作用是从字符串中删除子字符串
char * strstr_rem(char *string, char *substring)//我没有仔细看这个函数,我有点懒,嘿嘿,但是按照上面的strstr在找到字符串后进行
//进行替换,具体过程没看 列出来 可以学习
{
int i,j,k,loc=-1;
for(i=0; string[i]&&(loc==-1); i++)
for(j=i,k=0; string[j]==substring[k]; j++,k++)
if(!substring[k+1])
loc=i;
if(loc!=-1)
{
for(k=0; substr[k];k++);
for(j=loc;i=loc+k,string[i]; j++, i++)
string[j]=string[i];
string[i]=NULL;
}
return(string)
}
strstr_rep函数 作用是用另一个字符串代替子字符串
char *strstr_rep(char *source, char *old , char *new)
{
char *original=source;
char temp[256];
int old_length=strlen(old);
int i,j,k,location=-1;
for(i=0; source[i]&&(location==-1); i++)
for(j=i,k=0; source[j]==old [k]; j++,k++)
if(!old [k+1])
location=i;
if(location!=-1)
{
for(j=0;j<location;j++)
temp[j]=source[j];
for(i=0;new[i];i++,j++)
temp[j]=new[i];
for(k=location+old_length;source[k];k++,j++)
temp[j]=source[k];
temp[j]=NULL;
for(i=0; source[i]=temp[i];i++);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29798-3.html
但名义上
可能有人还以为我也是做广告的