21xrx.com
2024-12-23 00:35:47 Monday
登录
文章检索 我的文章 写文章
C++如何删除字符串的最后一个字符?
2023-07-02 13:14:47 深夜i     --     --
C++ 删除 字符串 最后一个字符

在C++编程中,如果需要删除一个字符串的最后一个字符,有几种不同的方法实现。以下是其中的三种方法:

1. 使用erase函数

C++中的字符串类string有一个名为erase的函数,可以用于删除字符串中的字符。要删除字符串中的最后一个字符,可以通过指定要删除的字符位置和删除字符数量来实现。具体实现代码如下:


string str = "Hello world";

str.erase(str.size() - 1);

cout << str << endl; // 输出 "Hello worl"

注意,erase函数会改变原字符串,因此需要先创建一个字符串副本进行操作。

2. 使用substr函数

另一种实现删除字符串最后一个字符的方法是使用substr函数。substr函数可以用于从字符串中提取子字符串,可以通过指定起始位置和要提取的字符数量来实现删除最后一个字符。具体实现代码如下:


string str = "Hello world";

str = str.substr(0, str.size() - 1);

cout << str << endl; // 输出 "Hello worl"

这种方法也会改变原字符串,因此需要将结果赋值给原字符串。

3. 使用pop_back函数

C++11标准中引入了一个名为pop_back的函数,用于删除字符串中的最后一个字符。这个函数比前两种方法更直观,实现代码如下:


string str = "Hello world";

str.pop_back();

cout << str << endl; // 输出 "Hello worl"

pop_back函数会直接从字符串中删除最后一个字符,因此无需创建字符串副本或者重新赋值。

总结

以上就是三种C++中删除字符串最后一个字符的方法。使用erase函数和substr函数时,需要注意会改变原字符串,因此需要创建字符串副本或者重新赋值。而使用pop_back函数则更加直观和方便。根据具体的逻辑需求,程序员可以选择使用其中的任一方法实现字符串的删除操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复