Namespaces
Variants

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

From cppreference.net
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) 접두사는 문자열 뷰입니다. 효과적으로 반환합니다 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)
문자열 뷰가 주어진 접미사로 끝나는지 확인합니다
(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)