Пространства имён
Варианты
Действия

std::basic_string::rfind

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
size_type rfind( const basic_string& str, size_type pos = npos ) const;
(1)
size_type rfind( const CharT* s, size_type pos, size_type count ) const;
(2)
size_type rfind( const CharT* s, size_type pos = npos ) const;
(3)
size_type rfind( CharT ch, size_type pos = npos ) const;
(4)

Находит последнюю подстроку, равную переданной символьной последовательности. Поиск начинается с позиции pos, т.е. в поиске участвует только подстрока в диапазоне [pos, size). Если npos передано в качестве позиции pos, поиск будет произведен по всей строке.

1) Находит последнюю подстроку, равную str.

2) Находит последнюю подстроку, равную первым count символам строки, на которую указывает s. s может включать нулевые символы.

3) Находит последнюю подстроку, равную символьной строке, на которую указывает s. Длина строки определяется по первому вхождению нулевого символа.

4) Находит последний символ ch.

Содержание

[править] Параметры

str строка для поиска
count длина подстроки для поиска
s указатель на строку поиска
ch символ для поиска

[править] Возвращаемое значение

позиция первого символа найденной подстроки или npos, если подстрока не найдена.

[править] Пример

#include <string>
#include <iostream>
 
void print(std::string::size_type n, std::string const &s)
{
  if(n == std::string::npos)
    std::cout << "not found\n";
  else
    std::cout << "found: " << s.substr(n) << '\n';
}
 
int main()
{
  std::string::size_type n;
  std::string const s = "This is a string";
 
  // поиск в обратном направлении от начала строки
  n = s.rfind("is");
  print(n, s);
  // поиск в обратном направлении с позиции 4
  n = s.rfind("is", 4);
  print(n, s);
  // поиск единственного символа
  n = s.rfind('s');
  print(n, s);
  // поиск единственного символа
  n = s.rfind('q');
  print(n, s);
}

Вывод:

found: is a string
found: is is a string
found: string
not found

[править] См. также

поиск символов в строке
(public функция-член) [править]
поиск первого вхождения символов
(public функция-член) [править]
найти первое вхождение отсутствия символов
(public функция-член) [править]
найти последнее вхождение символов
(public функция-член) [править]
найти последнее вхождение отсутствия символов
(public функция-член) [править]