cplusplus.com
  C++ Library Reference : Strings library : string : find_last_of
- -
º¯Êý¿â
C++º¯Êý¿â
Cº¯Êý¿â
C++º¯Êý¿â
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Strings library
char_traits
classes:
· string
global functions:
· getline
· operator+
· operator<<
· operator>>
· comparison operators
· swap
string
· string::string
member constants:
· string::npos
member functions:
· string::append
· string::assign
· string::at
· string::begin
· string::capacity
· string::clear
· string::compare
· string::copy
· string::c_str
· string::data
· string::empty
· string::end
· string::erase
· string::find
· string::find_first_not_of
· string::find_first_of
· string::find_last_not_of
· string::find_last_of
· string::get_allocator
· string::insert
· string::length
· string::max_size
· string::operator+=
· string::operator=
· string::operator[]
· string::push_back
· string::rbegin
· string::rend
· string::replace
· string::reserve
· string::resize
· string::rfind
· string::size
· string::substr
· string::swap

-

string::find_last_of public member function
size_t find_last_of ( const string& str, size_t pos = npos ) const;
size_t find_last_of ( const char* s, size_t pos, size_t n ) const;
size_t find_last_of ( const char* s, size_t pos = npos ) const;
size_t find_last_of ( char c, size_t pos = npos ) const;

Find character in string from the end

Searches the string from the end for any of the characters that are part of either str, s or c, and returns the position of the last occurrence in the string.

When pos is specified the search only includes characters on or before position pos, ignoring any possible occurrences at character positions after it.

Notice that for a match to happen is enough that one of the characters matches in the string (any of them). To search from the end for an entire sequence of characters use rfind instead.

Parameters

str
string containing the characters to search for in the object. The first character of the string that compares equal to any of the characters in str is considered a match.
s
Array with a sequence of characters. The last character of the string that compares equal to any of the characters in this sequence is considered a match.
In the second member function version, the number of characters in the sequence of character to search for is only determined by parameter n.
In the third version, a null-terminated sequence (c-string) is expected, and the amount characters to search for is determined by its length, which is indicated by a null-character after the last character.
n
Length of sequence of characters to search for.
c
Individual character to be searched for.
pos
Position of the last character in the string to be taken into consideration for possible matches. The default value npos indicates that the entire string is considered.

Return Value

The position of the first occurrence in the string of any of the characters searched for.
If the content is not found, the member value npos is returned.

Example

// string::find_last_of
#include <iostream>
#include <string>
using namespace std;

void SplitFilename (const string& str)
{
  size_t found;
  cout << "Splitting: " << str << endl;
  found=str.find_last_of("/\\");
  cout << " folder: " << str.substr(0,found) << endl;
  cout << " file: " << str.substr(found+1) << endl;
}

int main ()
{
  string str1 ("/usr/bin/man");
  string str2 ("c:\\windows\\winhelp.exe");

  SplitFilename (str1);
  SplitFilename (str2);

  return 0;
}

Splitting: /usr/bin/man
folder: /usr/bin
file: man
Splitting: c:\windows\winhelp.exe
folder: c:\windows
file: winhelp.exe

Basic template member declarations

( basic_string<charT,traits,Allocator> )
typedef typename Allocator::size_type size_type;
size_type find_last_of ( const basic_string& str,
                           size_type pos = npos ) const;
size_type find_last_of ( const charT* s, size_type pos,
                           size_type n ) const;
size_type find_last_of ( const charT* s,
                           size_type pos = npos ) const;
size_type find_last_of ( charT c, size_type pos = npos ) const;

See also

string::find Find content in string (public member function)
string::rfind Find last occurrence of content in string (public member function)
string::find_first_of Find character in string (public member function)
string::find_last_not_of Find absence of character in string from the end (public member function)
string::replace Replace part of string (public member function)
string::substr Generate substring (public member function)
© Copyright © 2007-2008 ¿áÇÚÍø All Rights Reserved