11---
22title : " basic_string Class"
3- ms.date : " 11/12/2019 "
4- f1_keywords: ["xstring/std::basic_string", "xstring/std::basic_string::allocator_type", "xstring/std::basic_string::const_iterator", "xstring/std::basic_string::const_pointer", "xstring/std::basic_string::const_reference", "xstring/std::basic_string::const_reverse_iterator", "xstring/std::basic_string::difference_type", "xstring/std::basic_string::iterator", "xstring/std::basic_string::npos", "xstring/std::basic_string::pointer", "xstring/std::basic_string::reference", "xstring/std::basic_string::reverse_iterator", "xstring/std::basic_string::size_type", "xstring/std::basic_string::traits_type", "xstring/std::basic_string::value_type", "xstring/std::basic_string::append", "xstring/std::basic_string::assign", "xstring/std::basic_string::at", "xstring/std::basic_string::back", "xstring/std::basic_string::begin", "xstring/std::basic_string::c_str", "xstring/std::basic_string::capacity", "xstring/std::basic_string::cbegin", "xstring/std::basic_string::cend", "xstring/std::basic_string::clear", "xstring/std::basic_string::compare", "xstring/std::basic_string::copy", "xstring/std::basic_string::crbegin", "xstring/std::basic_string::crend", "xstring/std::basic_string::_Copy_s", "xstring/std::basic_string::data", "xstring/std::basic_string::empty", "xstring/std::basic_string::end", "xstring/std::basic_string::erase", "xstring/std::basic_string::find", "xstring/std::basic_string::find_first_not_of", "xstring/std::basic_string::find_first_of", "xstring/std::basic_string::find_last_not_of", "xstring/std::basic_string::find_last_of", "xstring/std::basic_string::front", "xstring/std::basic_string::get_allocator", "xstring/std::basic_string::insert", "xstring/std::basic_string::length", "xstring/std::basic_string::max_size", "xstring/std::basic_string::pop_back", "xstring/std::basic_string::push_back", "xstring/std::basic_string::rbegin", "xstring/std::basic_string::rend", "xstring/std::basic_string::replace", "xstring/std::basic_string::reserve", "xstring/std::basic_string::resize", "xstring/std::basic_string::rfind", "xstring/std::basic_string::shrink_to_fit", "xstring/std::basic_string::size", "xstring/std::basic_string::substr", "xstring/std::basic_string::swap"]
5- helpviewer_keywords: ["std::basic_string [C++]", "std::basic_string [C++], allocator_type", "std::basic_string [C++], const_iterator", "std::basic_string [C++], const_pointer", "std::basic_string [C++], const_reference", "std::basic_string [C++], const_reverse_iterator", "std::basic_string [C++], difference_type", "std::basic_string [C++], iterator", "std::basic_string [C++], npos", "std::basic_string [C++], pointer", "std::basic_string [C++], reference", "std::basic_string [C++], reverse_iterator", "std::basic_string [C++], size_type", "std::basic_string [C++], traits_type", "std::basic_string [C++], value_type", "std::basic_string [C++], append", "std::basic_string [C++], assign", "std::basic_string [C++], at", "std::basic_string [C++], back", "std::basic_string [C++], begin", "std::basic_string [C++], c_str", "std::basic_string [C++], capacity", "std::basic_string [C++], cbegin", "std::basic_string [C++], cend", "std::basic_string [C++], clear", "std::basic_string [C++], compare", "std::basic_string [C++], copy", "std::basic_string [C++], crbegin", "std::basic_string [C++], crend", "std::basic_string [C++], _Copy_s", "std::basic_string [C++], data", "std::basic_string [C++], empty", "std::basic_string [C++], end", "std::basic_string [C++], erase", "std::basic_string [C++], find", "std::basic_string [C++], find_first_not_of", "std::basic_string [C++], find_first_of", "std::basic_string [C++], find_last_not_of", "std::basic_string [C++], find_last_of", "std::basic_string [C++], front", "std::basic_string [C++], get_allocator", "std::basic_string [C++], insert", "std::basic_string [C++], length", "std::basic_string [C++], max_size", "std::basic_string [C++], pop_back", "std::basic_string [C++], push_back", "std::basic_string [C++], rbegin", "std::basic_string [C++], rend", "std::basic_string [C++], replace", "std::basic_string [C++], reserve", "std::basic_string [C++], resize", "std::basic_string [C++], rfind", "std::basic_string [C++], shrink_to_fit", "std::basic_string [C++], size", "std::basic_string [C++], substr", "std::basic_string [C++], swap"]
3+ ms.date : " 9/8/2020 "
4+ f1_keywords: ["xstring/std::basic_string", "xstring/std::basic_string::allocator_type", "xstring/std::basic_string::const_iterator", "xstring/std::basic_string::const_pointer", "xstring/std::basic_string::const_reference", "xstring/std::basic_string::const_reverse_iterator", "xstring/std::basic_string::difference_type", "xstring/std::basic_string::iterator", "xstring/std::basic_string::npos", "xstring/std::basic_string::pointer", "xstring/std::basic_string::reference", "xstring/std::basic_string::reverse_iterator", "xstring/std::basic_string::size_type", "xstring/std::basic_string::traits_type", "xstring/std::basic_string::value_type", "xstring/std::basic_string::append", "xstring/std::basic_string::assign", "xstring/std::basic_string::at", "xstring/std::basic_string::back", "xstring/std::basic_string::begin", "xstring/std::basic_string::c_str", "xstring/std::basic_string::capacity", "xstring/std::basic_string::cbegin", "xstring/std::basic_string::cend", "xstring/std::basic_string::clear", "xstring/std::basic_string::compare", "xstring/std::basic_string::copy", "xstring/std::basic_string::crbegin", "xstring/std::basic_string::crend", "xstring/std::basic_string::_Copy_s", "xstring/std::basic_string::data", "xstring/std::basic_string::empty", "xstring/std::basic_string::end", "xstring/std::basic_string::erase", "xstring/std::basic_string::find", "xstring/std::basic_string::find_first_not_of", "xstring/std::basic_string::find_first_of", "xstring/std::basic_string::find_last_not_of", "xstring/std::basic_string::find_last_of", "xstring/std::basic_string::front", "xstring/std::basic_string::get_allocator", "xstring/std::basic_string::insert", "xstring/std::basic_string::length", "xstring/std::basic_string::max_size", "xstring/std::basic_string::pop_back", "xstring/std::basic_string::push_back", "xstring/std::basic_string::rbegin", "xstring/std::basic_string::rend", "xstring/std::basic_string::replace", "xstring/std::basic_string::reserve", "xstring/std::basic_string::resize", "xstring/std::basic_string::rfind", "xstring/std::basic_string::shrink_to_fit", "xstring/std::basic_string::size", "xstring/std::basic_string::substr", "xstring/std::basic_string::ends_with", "xstring/std::basic_string::starts_with", "xstring/std::basic_string::swap"]
5+ helpviewer_keywords: ["std::basic_string [C++]", "std::basic_string [C++], allocator_type", "std::basic_string [C++], const_iterator", "std::basic_string [C++], const_pointer", "std::basic_string [C++], const_reference", "std::basic_string [C++], const_reverse_iterator", "std::basic_string [C++], difference_type", "std::basic_string [C++], iterator", "std::basic_string [C++], npos", "std::basic_string [C++], pointer", "std::basic_string [C++], reference", "std::basic_string [C++], reverse_iterator", "std::basic_string [C++], size_type", "std::basic_string [C++], traits_type", "std::basic_string [C++], value_type", "std::basic_string [C++], append", "std::basic_string [C++], assign", "std::basic_string [C++], at", "std::basic_string [C++], back", "std::basic_string [C++], begin", "std::basic_string [C++], c_str", "std::basic_string [C++], capacity", "std::basic_string [C++], cbegin", "std::basic_string [C++], cend", "std::basic_string [C++], clear", "std::basic_string [C++], compare", "std::basic_string [C++], copy", "std::basic_string [C++], crbegin", "std::basic_string [C++], crend", "std::basic_string [C++], _Copy_s", "std::basic_string [C++], data", "std::basic_string [C++], empty", "std::basic_string [C++], end", "std::basic_string [C++], erase", "std::basic_string [C++], find", "std::basic_string [C++], find_first_not_of", "std::basic_string [C++], find_first_of", "std::basic_string [C++], find_last_not_of", "std::basic_string [C++], find_last_of", "std::basic_string [C++], front", "std::basic_string [C++], get_allocator", "std::basic_string [C++], insert", "std::basic_string [C++], length", "std::basic_string [C++], max_size", "std::basic_string [C++], pop_back", "std::basic_string [C++], push_back", "std::basic_string [C++], rbegin", "std::basic_string [C++], rend", "std::basic_string [C++], replace", "std::basic_string [C++], reserve", "std::basic_string [C++], resize", "std::basic_string [C++], rfind", "std::basic_string [C++], shrink_to_fit", "std::basic_string [C++], size", "std::basic_string [C++], starts_with", "std::basic_string [C++], ends_with","std::basic_string [C++], substr", "std::basic_string [C++], swap"]
66ms.assetid : a9c3e0a2-39bf-4c8a-b093-9abe30839591
77---
88# basic_string Class
@@ -74,6 +74,7 @@ The type that represents the stored allocator object that encapsulates details a
7474|[data](#data)|Converts the contents of a string into an array of characters.|
7575|[empty](#empty)|Tests whether the string contains characters.|
7676|[end](#end)|Returns an iterator that addresses the location succeeding the last element in a string.|
77+ |[ends_with](#ends_with)|Checks whether the string ends with the specified suffix.|
7778|[erase](#erase)|Removes an element or a range of elements in a string from a specified position.|
7879|[find](#find)|Searches a string in a forward direction for the first occurrence of a substring that matches a specified sequence of characters.|
7980|[find_first_not_of](#find_first_not_of)|Searches through a string for the first character that isn't any element of a specified string.|
@@ -95,6 +96,7 @@ The type that represents the stored allocator object that encapsulates details a
9596|[rfind](#rfind)|Searches a string in a backward direction for the first occurrence of a substring that matches a specified sequence of characters.|
9697|[shrink_to_fit](#shrink_to_fit)|Discards the excess capacity of the string.|
9798|[size](#size)|Returns the current number of elements in a string.|
99+ |[starts_with](#starts_with)|Checks whether the string starts with the specified prefix.|
98100|[substr](#substr)|Copies a substring of at most some number of characters from a string beginning from a specified position.|
99101|[swap](#swap)|Exchange the contents of two strings.|
100102
@@ -1778,6 +1780,61 @@ The modified string str1 is now: No way ouT.
17781780The string str2 is empty.
17791781```
17801782
1783+ ## <a name =" ends_with " ></a > basic_string::ends_with
1784+
1785+ Checks whether the string ends with the specified suffix.
1786+
1787+ ``` cpp
1788+ NODISCARD bool ends_with (const basic_string_view Right) const noexcept;
1789+ NODISCARD bool ends_with(const T c) const noexcept;
1790+ NODISCARD bool ends_with(const T* const x) const noexcept;
1791+ ```
1792+
1793+ ### Parameters
1794+
1795+ *c*\
1796+ Single character suffix.
1797+
1798+ *right*\
1799+ A string view containing the suffix. Also accepts `std::basic_string`.
1800+
1801+ *x*\
1802+ Null-terminated character string containing the suffix.
1803+
1804+ ### Return Value
1805+
1806+ `true` if the string ends with the specified suffix; `false` otherwise.
1807+
1808+ ### Remarks
1809+
1810+ See [starts_with](#starts_with) to check if a string starts with the specified prefix.
1811+
1812+ ### Example
1813+
1814+ ```cpp
1815+ #include <string>
1816+ #include <iostream>
1817+
1818+ int main()
1819+ {
1820+ std::basic_string<char> str = "abcdefg";
1821+
1822+ std::cout << std::boolalpha << str.ends_with('g') << '\n';
1823+ std::cout << std::boolalpha << str.ends_with("efG") << '\n';
1824+
1825+ std::basic_string<char> str2 = "efg";
1826+ std::cout << std::boolalpha << str.ends_with(str2);
1827+
1828+ return 0;
1829+ }
1830+ ```
1831+
1832+ ``` Output
1833+ true
1834+ false
1835+ true
1836+ ```
1837+
17811838## <a name =" erase " ></a > basic_string::erase
17821839
17831840Removes an element or a range of elements in a string from a specified position.
@@ -4539,6 +4596,60 @@ The current size of string str1 is: 11.
45394596The capacity of string str1 is: 15.
45404597```
45414598
4599+ ## <a name =" starts_with " ></a > basic_string::starts_with
4600+
4601+ Checks whether the string starts with the specified prefix.
4602+
4603+ ``` cpp
4604+ NODISCARD bool starts_with (const basic_string_view Right) const noexcept;
4605+ NODISCARD bool starts_with(const T c) const noexcept;
4606+ NODISCARD bool starts_with(const T* const x) const noexcept;
4607+ ```
4608+
4609+ ### Parameters
4610+
4611+ *c*\
4612+ Single character prefix.
4613+
4614+ *right*\
4615+ A string view containing the prefix. Also accepts `std::basic_string`.
4616+
4617+ *x*\
4618+ Null-terminated character string containing the prefix.
4619+
4620+ ### Return Value
4621+
4622+ `true` if the string starts with the specified prefix; `false` otherwise.
4623+
4624+ ### Remarks
4625+
4626+ See [ends_with](#ends_with) to see if a string ends with a postfix.
4627+
4628+ ### Example
4629+
4630+ ```cpp
4631+ #include <string>
4632+ #include <iostream>
4633+
4634+ int main()
4635+ {
4636+ std::basic_string<char> str = "abcdefg";
4637+
4638+ std::cout << std::boolalpha << str.starts_with('b') << '\n';
4639+ std::cout << std::boolalpha << str.starts_with("aBc") << '\n';
4640+
4641+ std::basic_string<char> str2 = "abc";
4642+ std::cout << std::boolalpha << str.starts_with(str2);
4643+ return 0;
4644+ }
4645+ ```
4646+
4647+ ``` Output
4648+ false
4649+ false
4650+ true
4651+ ```
4652+
45424653## <a name =" substr " ></a > basic_string::substr
45434654
45444655Copies a substring of at most some number of characters from a string beginning from a specified position.
0 commit comments