如何实现字符串的反转及替换
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;
}