[英]How do I erase last character of a string without “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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.