繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM