乐闻世界logo
搜索文章和话题

Remove last character from C++ string

1个答案

1

In C++, there are several methods to remove the last character from a string. Here are some common approaches:

1. Using std::string::pop_back()

This is the simplest and most straightforward method. The std::string::pop_back() function directly removes a character from the end of a std::string object.

Example code:

cpp
#include <iostream> #include <string> int main() { std::string str = "Hello, World!"; str.pop_back(); // Remove last character std::cout << "After pop_back(): " << str << std::endl; return 0; }

This code outputs "Hello, World", with the exclamation mark removed.

2. Using std::string::erase()

The std::string::erase() method can delete a portion of the string. When you specifically need to remove only the last character, you can specify the deletion starting from the end and covering just one character.

Example code:

cpp
#include <iostream> #include <string> int main() { std::string str = "Hello, World!"; str.erase(str.size() - 1); // Remove last character std::cout << "After erase(): " << str << std::endl; return 0; }

This code also outputs "Hello, World".

3. Using index operations and std::string::resize()

By using std::string::resize(), you can adjust the string's size. Setting the size to one less than the current length automatically removes the last character.

Example code:

cpp
#include <iostream> #include <string> int main() { std::string str = "Hello, World!"; str.resize(str.size() - 1); // Resize string to remove the last character std::cout << "After resize(): " << str << std::endl; return 0; }

This code outputs "Hello, World" as well.

All these methods are valid, and the choice depends on the specific use case and personal preference. In most scenarios, pop_back() is the most direct and efficient approach, especially when you confirm the string is non-empty. For more complex operations, erase() offers greater flexibility.

2024年6月29日 12:07 回复

你的答案