用c++实现类似vb的replace字符串替换

来源:互联网 发布:马克笔 知乎 编辑:程序博客网 时间:2024/05/16 05:22

      用过vb的朋友都知道,vb里的replace很好用,貌似c++里没有一个现成的函数实现这个功能(mfc里的cstring除外).那么我们来自己写代码实现功能吧.

       c++实现如下:

#include<iostream>
#include<string>
using namespace std;
string replace(string a,string s,string d){
 while(a.find(s)!=string::npos)
  a.replace(a.find(s),s.length(),d);
 return a;

}
main(){
 cout<<replace("asdfgsdh","sd","1123");

}

 

c语言实现如下:

 

#include<iostream>
#include<string>
using namespace std;
void r(char *s,char *s1,char *s2,char *s3){
 char *ss=s;
    char *p;
 p=strstr(ss,s1);
 if(p==NULL){
  s3=0;
  return;
 }
 while(p!=NULL) {
  int n=p-ss;
  
  strncat(s3,ss,n);
 
  strcat(s3,s2);
 
  ss=p+strlen(s1);
 
  p=strstr(ss,s1);

 }
strcat(s3,ss);
}

main(){
char *a="asdasasdsd";
char s[30]={0};
r(a,"asd","123ui",s);
cout<<s;

 
}

 

代码都比较简单,没什么好说的,就当是一次练手吧.   

原创粉丝点击