我写的一个替换功能的程序
//从str中查到word,并用word_change替换这个单词
length = strlen(word);
len = strlen(word_change);
for(j=0;*(str+j)!='\0';j++)
{
m = j;
std = 1;
if(*(str+j) == *word)
{
for(i=1;i<=length-1;i++)
{
if(*(word+i)==*(str+(++j)))
std++;
else
break;
}
if(std==length)//查到后,开始替换
{
strcpy(str,str_new);
strcpy(word_change,str_new+m);
strcpy(str+m+length-1,str_new+m+len-1);
}
}
j = m;
}
我写的一个替换功能能的程序,感觉比较烂,尤其是替换那块儿,大家有什么好算法吗?
----------------解决方案--------------------------------------------------------
也来贴一个
{
char tmp_result[1024];
char * p,*q;
int len;
len=0;
memset(tmp_result,'\0',sizeof(tmp_result));
p=q=str;
len=strlen(word);
while(q!=NULL)
{
if((q=strstr(p,word))!=NULL)
{
strncat(tmp_result,p,q-p);
strcat(tmp_result,world_change);
strcat(tmp_result,"\0");
q+=len;
p=q;
}
else strcat(tmp_result,p);
}
strcpy(str,tmp_result);
}
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽