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

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

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
Доступ к элементам
Итераторы
Ёмкость
Операции
Поиск
basic_string::find
Константы
Руководства по выводу (C++17)
Функции, не являющиеся элементами
Ввод/Вывод
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
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 функция-элемент) [править]