解决方法
Boost:
http://www.boost.org/doc/libs/1_54_0/doc/html/boost/algorithm/find_nth.html中有一个find_nth模板函数
#include <iostream> #include <boost/algorithm/string/find.hpp> using namespace std; using namespace boost; int main() { string a = "The rain in Spain falls mainly on the plain"; iterator_range<string::iterator> r = find_nth(a,"ain",2); cout << distance(a.begin(),r.begin()) << endl; return 0; }