Namespaces
Variants

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

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

문자열 뷰가 주어진 접미사로 끝나는지 확인합니다. 여기서

1) 접미사는 문자열 뷰입니다. 효과적으로 다음을 반환합니다 size ( ) >= sv. size ( ) && compare ( size ( ) - sv. size ( ) , npos, sv ) == 0 .
2) 접미사가 단일 문자인 경우. 효과적으로 ! empty ( ) && Traits :: eq ( back ( ) , ch ) 를 반환합니다.
3) 접미사는 null로 종료되는 문자열입니다. 효과적으로 ends_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) 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
    );
}

참고 항목

문자열 뷰가 주어진 접두사로 시작하는지 확인합니다
(public member function)
문자열이 주어진 접두사로 시작하는지 확인합니다
( std::basic_string<CharT,Traits,Allocator> 의 public member function)
(C++20)
문자열이 주어진 접미사로 끝나는지 확인합니다
( std::basic_string<CharT,Traits,Allocator> 의 public member function)
(C++23)
문자열이 주어진 부분 문자열이나 문자를 포함하는지 확인합니다
( std::basic_string<CharT,Traits,Allocator> 의 public member function)
(C++23)
문자열 뷰가 주어진 부분 문자열이나 문자를 포함하는지 확인합니다
(public member function)
두 개의 뷰를 비교합니다
(public member function)