// FindReplaceDemo.cpp #include <iostream> #include <string> using namespace std; template <class T, class C1, class C2> void find_and_replace(T& source, const C1& find, const C2& replace) { size_t j; T f = find; T r = replace; for (; (j = source.find(f)) != T::npos;) { source.replace(j, f.length(), r); } } int main() { string s = "http://%s/cgi-bin/admin"; find_and_replace(s, "%s", "ATHENA"); cout << s << endl; }