public member function
<string>
std::string::find_first_not_of
string (1) | size_t find_first_not_of (const string& str, size_t pos = 0) const; |
---|
c-string (2) | size_t find_first_not_of (const char* s, size_t pos = 0) const; |
---|
buffer (3) | size_t find_first_not_of (const char* s, size_t pos, size_t n) const; |
---|
character (4) | size_t find_first_not_of (char c, size_t pos = 0) const; |
---|
string (1) | size_t find_first_not_of (const string& str, size_t pos = 0) const noexcept; |
---|
c-string (2) | size_t find_first_not_of (const char* s, size_t pos = 0) const; |
---|
buffer (3) | size_t find_first_not_of (const char* s, size_t pos, size_t n) const; |
---|
character (4) | size_t find_first_not_of (char c, size_t pos = 0) const noexcept; |
---|
Find absence of character in string
Searches the string for the first character that does not match any of the characters specified in its arguments.
When pos is specified, the search only includes characters at or after position pos, ignoring any possible occurrences before that character.
Parameters
- str
- Another string with the set of characters to be used in the search.
- pos
- Position of the first character in the string to be considered in the search.
If this is greater than the string length, the function never finds matches.
Note: The first character is denoted by a value of 0 (not 1): A value of 0 means that the entire string is searched.
- s
- Pointer to an array of characters.
If argument n is specified (3), the first n characters in the array are used in the search.
Otherwise (2), a null-terminated sequence is expected: the length of the sequence with the characters used in the search is determined by the first occurrence of a null character.
- n
- Number of character values to search for.
- c
- Individual character to be searched for.
size_t is an unsigned integral type (the same as member type string::size_type).
Return Value
The position of the first character that does not match.
If no such characters are found, the function returns string::npos.
size_t is an unsigned integral type (the same as member type string::size_type).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// string::find_first_not_of
#include <iostream> // std::cout
#include <string> // std::string
#include <cstddef> // std::size_t
int main ()
{
std::string str ("look for non-alphabetic characters...");
std::size_t found = str.find_first_not_of("abcdefghijklmnopqrstuvwxyz ");
if (found!=std::string::npos)
{
std::cout << "The first non-alphabetic character is " << str[found];
std::cout << " at position " << found << '\n';
}
return 0;
}
|
The first non-alphabetic character is - at position 12
|
Complexity
Unspecified, but generally up to linear in length()-pos times the number of characters to match (worst case).
Iterator validity
No changes.
Data races
The object is accessed.
Exception safety
If s does not point to an array long enough, it causes undefined behavior.
Otherwise, the function never throws exceptions (no-throw guarantee).