如何实现字符串的反转及替换

2025-11-04 23:39:14

1、实现字符串反转函数

/字符串反转

char *strReverse(char *str){

// 判断字符是否为null或是空字符串

if (NULL == str  || '\0'==str ) {

return str;

}

// 定义char数组指针

char *start = str;

char *end = str;

while (*end != '\0'){//指向最后一个结点

end++;

}

// 交换头和尾的值

char temp;

--end;// 去除\0的位置

while (start < end){

temp = *start;

*start = *end;

*end = temp;

start++;

end--;

}

return str;

}

2、替换字符串

/* 功能:将str字符串中的oldstr字符串替换为newstr字符串

* 参数:str:操作目标 oldstr:被替换者 newstr:替换者

* 返回值:返回替换之后的字符串

* */

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))){//在当前位置取和oldstr等长字符

strcat(bstr,newstr);

i += strlen(oldstr);

}

strncat(bstr,str + i,1);//保存一字节进缓冲区

}

strcpy(str,bstr);

return str;

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢