/*
2011年7月21日19:58:20
语法:replace(char str[], char key[] char swap[]);
*/
#include <string.h>
#include <stdio.h>
/**
* 参数:
* originalString[] :原始字符串
* key[] : 待替换的字符串
* swap[] : 新字符串
*/
void replace(char originalString[], char key[], char swap[]){
int lengthOfOriginalString, lengthOfKey, lengthOfSwap, i, j , flag;
char tmp[1000];
//获取各个字符串的长度
lengthOfOriginalString = strlen(originalString);
lengthOfKey = strlen(key);
lengthOfSwap = strlen(swap);
for( i = 0; i <= lengthOfOriginalString - lengthOfKey; i++){
flag = 1;
//搜索key
for(j = 0; j < lengthOfKey; j ++){
if(originalString[i + j] != key[j]){
flag = 0;
break;
}
}
//如果搜索成功,则进行替换
if(flag){
strcpy(tmp, originalString);
strcpy(&tmp[i], swap);
strcpy(&tmp[i + lengthOfSwap], &originalString[i + lengthOfKey]);
strcpy(originalString, tmp);
i += lengthOfSwap - 1;
lengthOfOriginalString = strlen(originalString);
}
}
}
/**
* main function
*/
int main(){
char originalString[1000] = {"abcfffffabcfffffabcfffff"};
char key[] = {"abc"};
char swap[] = {"aabbcc"};
replace(originalString, key, swap);
printf("%s\n", originalString);
return 0;
}
C语言实现字符串替换
最新推荐文章于 2024-07-11 10:10:05 发布