Namespaces
Variants

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

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) 접미사는 널 종료 문자 문자열입니다. 효과적으로 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://ko.cppreference.net").ends_with(".com"sv) == true
        && std::string_view("https://ko.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)