Namespaces
Variants

std::basic_string_view<CharT,Traits>:: ends_with

From cppreference.net
constexpr bool ends_with ( basic_string_view sv ) const noexcept ;
(1) (desde C++20)
constexpr bool ends_with ( CharT ch ) const noexcept ;
(2) (desde C++20)
constexpr bool ends_with ( const CharT * s ) const ;
(3) (desde C++20)

Comprueba si la vista de cadena termina con el sufijo dado, donde

1) el sufijo es una vista de cadena. Efectivamente retorna size ( ) >= sv. size ( ) && compare ( size ( ) - sv. size ( ) , npos, sv ) == 0 .
2) el sufijo es un solo carácter. Efectivamente retorna ! empty ( ) && Traits :: eq ( back ( ) , ch ) .
3) el sufijo es una cadena de caracteres terminada en nulo. Efectivamente retorna ends_with ( basic_string_view ( s ) ) .

Contenidos

Parámetros

sv - una vista de cadena que puede ser el resultado de una conversión implícita desde std::basic_string
ch - un único carácter
s - una cadena de caracteres terminada en nulo

Valor de retorno

true si la vista de cadena termina con el sufijo proporcionado, false en caso contrario.

Notas

Macro de prueba de características Valor Std Característica
__cpp_lib_starts_ends_with 201711L (C++20) Comprobación de prefijo y sufijo de cadena: starts_with() y ends_with()

Ejemplo

#include <cassert>
#include <string_view>
int main()
{
    using namespace std::literals;
    assert
    (""
        // (1) ends_with( basic_string_view sv )
        && std::string_view("https://cppreference.net").ends_with(".com"sv) == true
        && std::string_view("https://cppreference.net").ends_with(".org"sv) == false
        // (2) ends_with( CharT c )
        && std::string_view("C++20").ends_with('0') == true
        && std::string_view("C++20").ends_with('3') == false
        // (3) ends_with( const CharT* s )
        && std::string_view("string_view").ends_with("view") == true
        && std::string_view("string_view").ends_with("View") == false
    );
}

Véase también

comprueba si la vista de cadena comienza con el prefijo dado
(función miembro pública)
comprueba si la cadena comienza con el prefijo dado
(función miembro pública de std::basic_string<CharT,Traits,Allocator> )
(C++20)
comprueba si la cadena termina con el sufijo dado
(función miembro pública de std::basic_string<CharT,Traits,Allocator> )
(C++23)
comprueba si la cadena contiene la subcadena o carácter dado
(función miembro pública de std::basic_string<CharT,Traits,Allocator> )
(C++23)
comprueba si la vista de cadena contiene la subcadena o carácter dado
(función miembro pública)
compara dos vistas
(función miembro pública)