std::basic_string<CharT,Traits,Allocator>::ends_with
< cpp | string | basic string
constexpr bool ends_with( std::basic_string_view<CharT,Traits> sv ) const noexcept; |
(1) | (C++20 起) |
constexpr bool ends_with( CharT c ) const noexcept; |
(2) | (C++20 起) |
constexpr bool ends_with( const CharT* s ) const; |
(3) | (C++20 起) |
检查 string 是否终于给定后缀。后缀可为以下之一:
1) string_view
sv
(可以是从另一 std::basic_string
隐式转换的结果)。2) 单个字符
c
3) 空终止字符串
s
所有三个重载等效地返回 std::basic_string_view<CharT, Traits>(data(), size()).ends_with(x) ,其中 x
是参数。
参数
sv | - | string_view ,可为从另一 std::basic_string 隐式转换的结果
|
c | - | 单个字符 |
s | - | 空终止字符串 |
返回值
若 string 终于给定后缀则为 true ,否则为 false 。
示例
运行此代码
#include <iostream> #include <string_view> #include <string> template <typename SuffixType> void test_suffix_print(const std::string& str, SuffixType suffix) { std::cout << '\'' << str << "' ends with '" << suffix << "': " << str.ends_with(suffix) << '\n'; } int main() { std::boolalpha(std::cout); auto helloWorld = std::string("hello world"); test_suffix_print(helloWorld, std::string_view("world")); test_suffix_print(helloWorld, std::string_view("goodby")); test_suffix_print(helloWorld, 'd'); test_suffix_print(helloWorld, 'x'); }
输出:
'hello world' ends with 'world': true 'hello world' ends with 'goodby': false 'hello world' ends with 'd': true 'hello world' ends with 'x': false
参阅
(C++20) |
检查 string 是否始于给定前缀 (公开成员函数) |
(C++20) |
检查 string_view 是否始于给定前缀 ( std::basic_string_view<CharT,Traits> 的公开成员函数) |
(C++20) |
检查 string_view 是否终于给定后缀 ( std::basic_string_view<CharT,Traits> 的公开成员函数) |
比较二个字符串 (公开成员函数) | |
返回子串 (公开成员函数) |