It searches the string for the first character that does not match any of the characters specified in its arguments.
Following is the declaration for std::string::find_last_not_of.
size_t find_last_not_of (const string& str, size_t pos = npos) const;
size_t find_last_not_of (const string& str, size_t pos = npos) const noexcept;
size_t find_last_not_of (const string& str, size_t pos = npos) const noexcept;
str − It is a string object.
len − It is used to copy the characters.
pos − Position of the first character to be copied.
none
if an exception is thrown, there are no changes in the string.
In below example for std::string::find_last_not_of.
#include <iostream> #include <string> #include <cstddef> int main () { std::string str ("It erases trailing white-spaces \n"); std::string whitespaces (" \t\f\v\n\r"); std::size_t found = str.find_last_not_of(whitespaces); if (found!=std::string::npos) str.erase(found+1); else str.clear(); std::cout << '[' << str << "]\n"; return 0; }
The sample output should be like this −
[It erases trailing white-spaces]