std::basic_string<CharT,Traits,Allocator>::starts_with

来自cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
bool starts_with(std::basic_string_view<CharT, Traits> x) const noexcept;
(1) (C++20 起)
bool starts_with(CharT x) const noexcept;
(2) (C++20 起)
bool starts_with(const CharT* x) const;
(3) (C++20 起)

检查 string 是否始于给定前缀,其中

1) 前缀为 string_view (可以是从另一 std::basic_string 隐式转换的结果)
2) 前缀为单个字符
3) 前缀为 C 风格字符串

所有三个重载等效地返回 std::basic_string_view<CharT, Traits>(data(), size()).starts_with(x)

目录

[编辑] 参数

x - 要与 string 的起始比较的字符序列或单个字符

[编辑] 返回值

若 string 始于前缀起始则为 true ,否则为 false

[编辑] 示例

#include <iostream>
#include <string_view>
#include <string>
 
template <typename PrefixType>
void test_prefix_print(const std::string& str, PrefixType prefix)
{
    std::cout << '\'' << str << "' starts with '" << prefix << "': " <<
        str.starts_with(prefix) << '\n';
}
 
int main()
{
    std::boolalpha(std::cout);    
    auto helloWorld = std::string("hello world");
 
    test_prefix_print(helloWorld, std::string_view("hello"));
 
    test_prefix_print(helloWorld, std::string_view("goodby"));
 
    test_prefix_print(helloWorld, 'h');
 
    test_prefix_print(helloWorld, 'x');
}

输出:

'hello world' starts with 'hello': true
'hello world' starts with 'goodby': false
'hello world' starts with 'h': true
'hello world' starts with 'x': false

[编辑] 参阅

(C++20)
检查 string 是否终于给定后缀
(公开成员函数) [编辑]
检查 string_view 是否始于给定前缀
(std::basic_string_view<CharT,Traits> 的公开成员函数) [编辑]
(C++20)
检查 string_view 是否终于给定后缀
(std::basic_string_view<CharT,Traits> 的公开成员函数) [编辑]
比较二个字符串
(公开成员函数) [编辑]
返回子串
(公开成员函数) [编辑]