str.find('X')的反义词 - 在std :: string中找到与特定char不同的第一个字符的最有效方法是什么?如果我有一个主要由X'es组成的字符串,但在某些时候还有另一个字符 - 我如何快速找到它?
std::string str = "XXXXXXXXXXXXXXX.XXXXXXXXXXX";
size_t index = str.find_first_not_of('X');
Run Code Online (Sandbox Code Playgroud)
但是一个普通的for循环将同样好.
或者,如果你想要一个迭代器而不是一个索引,可能是这样的:
std::string::iterator = std::find_if(str.begin(), str.end(),
[](char c){ return c != 'X'; });
Run Code Online (Sandbox Code Playgroud)