c++字符串替代源码

来源:互联网 发布:解放军的无人机 知乎 编辑:程序博客网 时间:2024/06/01 20:55
#include   <string>     
#include   <iostream>     
using   namespace   std;     
string&   replace_all(string&   str,const   string&   old_value,const   string&   new_value)     
{     
    while(true)   {     
        string::size_type   pos(0);     
        if(   (pos=str.find(old_value))!=string::npos   )     
            str.replace(pos,old_value.length(),new_value);     
        else   break;     
    }     
    return   str;     
}     
string&   replace_all_distinct(string&   str,const   string&   old_value,const   string&   new_value)     
{     
    for(string::size_type   pos(0);   pos!=string::npos;   pos+=new_value.length())   {     
        if(   (pos=str.find(old_value,pos))!=string::npos   )     
            str.replace(pos,old_value.length(),new_value);     
        else   break;     
    }     
    return   str;     
}     
int   main()     
{     
    cout   <<   replace_all(string("12212"),"12","21")   <<   endl;     
    cout   <<   replace_all_distinct(string("12212"),"12","21")   <<   endl;     
}    
0 0
原创粉丝点击