std::basic_string<CharT,Traits,Allocator>::starts_with
From cppreference.com
< cpp | string | basic string
| constexpr bool starts_with( std::basic_string_view<CharT,Traits> 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) 文字列ビュー
sv(これは別の std::basic_string からの暗黙的な変換の結果である可能性があります)。2) 単一の文字 ch。
3) ヌル終端文字文字列 s。
これら3つのオーバーロードはすべて、実質的に std::basic_string_view<CharT, Traits>(data(), size()).starts_with(x) を返します。ここで x はパラメータです。
目次 |
[編集] パラメータ
| sv | - | 別の std::basic_string からの暗黙的な変換の結果である可能性のある文字列ビュー |
| 文字 | - | 単一の文字 |
| s | - | ヌル終端文字文字列 |
[編集] 戻り値
文字列が指定されたプレフィックスで始まる場合は true、そうでない場合は false。
[編集] 備考
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_starts_ends_with |
201711L |
(C++20) | 文字列のプレフィックスとサフィックスのチェック: starts_with() および ends_with() |
[編集] 例
このコードを実行
#include <cassert> #include <string> #include <string_view> int main() { using namespace std::literals; const auto str = "Hello, C++20!"s; assert ("" && str.starts_with("He"sv) // (1) && !str.starts_with("he"sv) // (1) && str.starts_with("He"s) // (1) implicit conversion string to string_view && !str.starts_with("he"s) // (1) implicit conversion string to string_view && str.starts_with('H') // (2) && !str.starts_with('h') // (2) && str.starts_with("He") // (3) && !str.starts_with("he") // (3) ); }
[編集] 関連項目
| (C++20) |
文字列が指定された接尾辞で終わるかをチェックする (public member function) |
| (C++20) |
string viewが指定されたプレフィックスで始まるかチェックする ( std::basic_string_view<CharT,Traits> の公開メンバ関数) |
| (C++20) |
string viewが指定されたサフィックスで終わるかチェックする ( std::basic_string_view<CharT,Traits> の公開メンバ関数) |
| (C++23) |
文字列が指定された部分文字列または文字を含むかをチェックする (public member function) |
| (C++23) |
string viewが指定された部分文字列または文字を含むかチェックする ( std::basic_string_view<CharT,Traits> の公開メンバ関数) |
| 2つの文字列を比較する (public member function) | |
| 部分文字列を返す (public member function) |