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

std::basic_string<CharT,Traits,Allocator>::find

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

Находит первую подстроку, равную переданной последовательности символов. Поиск начинается с позиции pos, т.е. найденная подстрока не может начинаться в позиции, предшествующей 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.find("is");
    print(n, s);
 
    // поиск с позиции 5
    n = s.find("is", 5);
    print(n, s);
 
    // поиск единственного символа
    n = s.find('a');
    print(n, s);
 
    // поиск единственного символа
    n = s.find('q');
    print(n, s);
}

Вывод:

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

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

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