我找不到一个允许我指定开始pos开始char或子串搜索的函数.
我有,例如:
char *c = "S1S2*S3*S4";
Run Code Online (Sandbox Code Playgroud)
我想搜索' S3'通过搜索第一个' *'星号,然后是第二个星号跟随它,最后得到子S3星号' '被这些星号包围.
该串类具有大find家族的称取的索引作为第二参数的函数.重复应用find('*', index)应该可以满足您的需求.
std::string s(c);
std::string::size_type star1 = s.find('*');
std::string::size_type star2 = s.find('*', star1 + 1);
std::string last_part = s.substr(star2 + 1);
Run Code Online (Sandbox Code Playgroud)