如何从c++字符串中删除最后一个字符?
我尝试了st = substr(st.length()-1);但这并没有起作用。
如何从c++字符串中删除最后一个字符?
我尝试了st = substr(st.length()-1);但这并没有起作用。
当前回答
如果长度非零,也可以
str[str.length() - 1] = '\0';
其他回答
str.erase( str.end()-1 )
参考:std::string::erase(
不需要c++11或c++0x。
对于非突变版本:
st = myString.substr(0, myString.size()-1);
这就是你所需要的:
#include <string> //string::pop_back & string::empty
if (!st.empty())
st.pop_back();
如果长度非零,也可以
str[str.length() - 1] = '\0';
int main () {
string str1="123";
string str2 = str1.substr (0,str1.length()-1);
cout<<str2; // output: 12
return 0;
}