string replace(const string& str, const string& sub, const string repstr){
string tmp;
string::size_type len1 = sub.size();
string::size_type pre = 0;
string::size_type pos = 0;
while ((pos = str.find(sub, pos)) != string::npos){ //寻找下一个sub串的起始位置
tmp += str.substr(pre, pos - pre);//求字串
tmp += repstr;
pos += len1;
pre = pos;
}
tmp += str.substr(pre, str.size() - pre);
return tmp;
}
自己来贴个回答。面试官也说了可以用c++标准库。