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++标准库。