问题描述
我试图在没有“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);