c++删除末尾字符的问题
#include<iostream>#include<string.h>usingnamespacestd;stringDeleteLastOneStr(stringst...
#include <iostream>
#include <string.h>
using namespace std;
string DeleteLastOneStr(string str);
string DeleteLastStr(string);
int main()
{
//删除末尾字符直到a,即删除之后字符串以a结尾
string str = "abcdeafg";
cout << DeleteLastOneStr(str) << endl;
return 0;
}
string DeleteLastOneStr(string str)
{
if("" == str)
{
return NULL;
}
int length = str.size();
str[length-1] = '\0';
return str;
}
string DeleteLastStr(string str_input)
{
int length = str_input.size();
if(str_input[length-1] != 0)
{
while(str_input[length-1] != (char)97)
{
DeleteLastOneStr(str_input);
length--;
}
}
return str_input;
}
新手不太理解,求指点,为什么执行之后只删除了末尾的一个字符 展开
#include <string.h>
using namespace std;
string DeleteLastOneStr(string str);
string DeleteLastStr(string);
int main()
{
//删除末尾字符直到a,即删除之后字符串以a结尾
string str = "abcdeafg";
cout << DeleteLastOneStr(str) << endl;
return 0;
}
string DeleteLastOneStr(string str)
{
if("" == str)
{
return NULL;
}
int length = str.size();
str[length-1] = '\0';
return str;
}
string DeleteLastStr(string str_input)
{
int length = str_input.size();
if(str_input[length-1] != 0)
{
while(str_input[length-1] != (char)97)
{
DeleteLastOneStr(str_input);
length--;
}
}
return str_input;
}
新手不太理解,求指点,为什么执行之后只删除了末尾的一个字符 展开
1个回答
展开全部
#include <iostream>
#include <string>
//C++中string的头文件是<string>,<string.h>是C语言中的,里面没有string数据类型
using namespace std;
/*
修改:@qwn3213
建议少用string,还是用char数组,string各种奇葩
*/
string DeleteLastOneStr(string str);
string DeleteLastStr(string);
int main()
{
string str = "abcdeafg";
cout << DeleteLastStr(str) << endl;
//调用错了函数,DeleteLastOneStr只是删除最后一个字符
return 0;
}
string DeleteLastOneStr(string str)
{
if("" == str)
{
return NULL;
}
int length = str.size();
str.erase(length-1);
//string不能用'\0'结束字符串,要用erase把后面的清除了
return str;
}
string DeleteLastStr(string str_input)
{
int length = str_input.size();
if(str_input[length-1] != 0)
{
while(str_input[length-1] != (char)97)
{
str_input=DeleteLastOneStr(str_input);
//修改后的字符串重新赋值给str_input
length--;
}
}
return str_input;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询