1. 程式人生 > >C語言 實現字串中指定字串替換

C語言 實現字串中指定字串替換

支援:

1.等長字串替換

2.長字串替換為短字串

3.短字串替換為長字串

4.中文替換

注意:短字串替換成長字串要注意記憶體越界

/* 功  能:將str字串中的oldstr字串替換為newstr字串
 * 參  數:str:操作目標 oldstr:被替換者 newstr:替換者
 * 返回值:返回替換之後的字串
 * 版  本: V0.2
 */
char *strrpc(char *str,char *oldstr,char *newstr){
    char bstr[strlen(str)];//轉換緩衝區
    memset(bstr,0,sizeof(bstr));
 
    for(int i = 0;i < strlen(str);i++){
        if(!strncmp(str+i,oldstr,strlen(oldstr))){//查詢目標字串
            strcat(bstr,newstr);
            i += strlen(oldstr) - 1;
        }else{
        	strncat(bstr,str + i,1);//儲存一位元組進緩衝區
	    }
    }

    strcpy(str,bstr);
    return str;
}