如何在没有“erase()”的情况下擦除字符串的最后一个字符?

问题描述

我试图在没有“erase()”的情况下擦除字符串的最后一个字符,

从“ABC”到“AB”

我尝试将最后一个字符设置为 NULL a[strlen(a) - 1] = NULL,但没有解决我的问题。

解决方法

如果您使用的是 C++11,则:

a.pop_back();

或者:

if (a.size () > 0)  
a.resize(a.size()-1);
,

如果您想保留原始字符串,您也可以尝试 substr()

std::string b = a.substr (0,a.length()-1);  

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...