关于C++里string的一个小问题!!!求解答!
在C++里有一个类是string,string类型的+是实现的拼接二段字符串。现在有一个stringss,我希望去掉它最后一个字母,比如ss如果是"a+b+c+d+",我...
在C++里有一个类是string,string类型的 + 是实现的拼接二段字符串。
现在有一个string ss,我希望去掉它最后一个字母,比如ss如果是"a+b+c+d+",我想把最后的多余的那个+去掉,使得ss变为"a+b+c+d"。。。求程序代码!!C++的,要用VC 6.0环境!!在实际中不一定结尾是+,也有可能是其他符号,总之要把最后一个符号去掉。。。。>_<
既然+都可以是拼接,为啥C++没有把-定义为裁剪啊,这肿么做啊!!! 展开
现在有一个string ss,我希望去掉它最后一个字母,比如ss如果是"a+b+c+d+",我想把最后的多余的那个+去掉,使得ss变为"a+b+c+d"。。。求程序代码!!C++的,要用VC 6.0环境!!在实际中不一定结尾是+,也有可能是其他符号,总之要把最后一个符号去掉。。。。>_<
既然+都可以是拼接,为啥C++没有把-定义为裁剪啊,这肿么做啊!!! 展开
5个回答
展开全部
#include <string>
#include <iostream>
using namespace std;
//VS2008SP1
int main()
{
std::string ss("a+b+c+");
if (!ss.empty())
{
ss.erase(--ss.end());
}
cout << ss << endl;
return 0;
}
追问
我用的VC 6.0,编译后有error,显示为“error C2105: '--' needs l-value”
追答
ss = ss.substr(0, ss.size() - 1);
ss.erase(ss.end() - 1);
这两个方法你试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string 的加操作 没有加上符号吧,额哦
清除最后一个字符用函数string::pop_back
清除最后一个字符用函数string::pop_back
追问
没有pop_back这个函数呢啊。。。。我是用的VC 6.0,编写的cpp文件
追答
囧,这样编译有问题》》??????
#include
#include
using namespace std;
int main()
{
string ss("a+b+c+");
ss.pop_back();
cout << ss << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ss.pop_back();
追问
没有pop_back这个函数呢啊。。。。我是用的VC 6.0,编写的cpp文件
追答
嗯 这个是c++11标准里的
不支持的话。。。 ss.erase(ss.end() - 1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ss=ss.substr(0,ss.length()-1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询