std::basic_string_view<CharT,Traits>:: starts_with
From cppreference.net
<
cpp
|
string
|
basic string view
|
constexpr
bool
starts_with
(
basic_string_view sv
)
const
noexcept
;
|
(1) | (начиная с C++20) |
|
constexpr
bool
starts_with
(
CharT ch
)
const
noexcept
;
|
(2) | (начиная с C++20) |
|
constexpr
bool
starts_with
(
const
CharT
*
s
)
const
;
|
(3) | (начиная с C++20) |
Проверяет, начинается ли строковое представление с заданного префикса, где
1)
префикс является string view. Фактически возвращает
basic_string_view
(
data
(
)
,
std::
min
(
size
(
)
, sv.
size
(
)
)
)
==
sv
.
2)
префикс представляет собой один символ. Фактически возвращает
!
empty
(
)
&&
Traits
::
eq
(
front
(
)
, ch
)
.
3)
префикс представляет собой строку символов с нулевым завершением. Фактически возвращает
starts_with
(
basic_string_view
(
s
)
)
.
Содержание |
Параметры
| sv | - |
строковое представление, которое может быть результатом неявного преобразования из
std::basic_string
|
| ch | - | отдельный символ |
| s | - | строка символов с нулевым завершением |
Возвращаемое значение
true если строковое представление начинается с предоставленного префикса, false в противном случае.
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_starts_ends_with
|
201711L
|
(C++20) | Проверка префикса и суффикса строки: starts_with() и ends_with() |
Пример
Запустить этот код
#include <cassert> #include <string_view> int main() { using namespace std::literals; assert ("" // (1) starts_with( basic_string_view ) && "https://cppreference.net"sv.starts_with("http"sv) == true && "https://cppreference.net"sv.starts_with("ftp"sv) == false // (2) starts_with( CharT ) && "C++20"sv.starts_with('C') == true && "C++20"sv.starts_with('J') == false // (3) starts_with( const CharT* ) && std::string_view("string_view").starts_with("string") == true && std::string_view("string_view").starts_with("String") == false ); }
Смотрите также
|
(C++20)
|
проверяет, заканчивается ли строковое представление заданным суффиксом
(публичная функция-член) |
|
(C++20)
|
проверяет, начинается ли строка с заданного префикса
(публичная функция-член
std::basic_string<CharT,Traits,Allocator>
)
|
|
(C++20)
|
проверяет, заканчивается ли строка заданным суффиксом
(публичная функция-член
std::basic_string<CharT,Traits,Allocator>
)
|
|
(C++23)
|
проверяет, содержит ли строка заданную подстроку или символ
(публичная функция-член
std::basic_string<CharT,Traits,Allocator>
)
|
|
(C++23)
|
проверяет, содержит ли строковое представление заданную подстроку или символ
(публичная функция-член) |
|
сравнивает два представления
(публичная функция-член) |