如何解决如何在没有“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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。