Skip to main content

std::string_view remove_suffix() method

// Const version only
constexpr void remove_suffix( size_type n );

Moves the end of the view back by n characters.

Undefined Behavior

The behavior is undefined

if n > size().

Parameters

  • n - number of characters to remove from the end of the view

Return value

(none)

Complexity

Constant - O(1).

Example

Main.cpp
#include <iostream>
#include <string_view>
int main()
{
char arr[] = {'a', 'b', 'c', 'd', '\0', '\0', '\0'};
std::string_view v(arr, sizeof arr);
auto trim_pos = v.find('\0');
if(trim_pos != v.npos)
v.remove_suffix(v.size() - trim_pos);
std::cout << "Array: '" << arr << "', size=" << sizeof arr << '\n'
<< "View : '" << v << "', size=" << v.size() << '\n';
}
Possible output
Array: 'abcd', size=7
View : 'abcd', size=4
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.

std::string_view remove_suffix() method

// Const version only
constexpr void remove_suffix( size_type n );

Moves the end of the view back by n characters.

Undefined Behavior

The behavior is undefined

if n > size().

Parameters

  • n - number of characters to remove from the end of the view

Return value

(none)

Complexity

Constant - O(1).

Example

Main.cpp
#include <iostream>
#include <string_view>
int main()
{
char arr[] = {'a', 'b', 'c', 'd', '\0', '\0', '\0'};
std::string_view v(arr, sizeof arr);
auto trim_pos = v.find('\0');
if(trim_pos != v.npos)
v.remove_suffix(v.size() - trim_pos);
std::cout << "Array: '" << arr << "', size=" << sizeof arr << '\n'
<< "View : '" << v << "', size=" << v.size() << '\n';
}
Possible output
Array: 'abcd', size=7
View : 'abcd', size=4
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.