编写一个函数String::CharDelete,该函数接受一个字符型参数c,返回从原字符串中
编写一个函数String::CharDelete,该函数接受一个字符型参数c,返回从原字符串中删除所有c字符后得到的字符串...
编写一个函数String::CharDelete,该函数接受一个字符型参数c,返回从原字符串中删除所有c字符后得到的字符串
展开
展开全部
你好,可以通过创建String类来实现。
代码如下:
#include <string>
using namespace std;
class String
{
private:
string m_data;
public:
String(string data) : m_data(data)
{
}
string CharDelete(char c);
}; // 定义了String类
string String::CharDelete(char c)
{
string resultString;
string::iterator iter = m_data.begin();
while(iter!=m_data.end())
{
char curChar = *iter;
if (curChar != c)
{
resultString.append(1,curChar);
}
iter++;
}
return resultString;
} // 通过枚举器遍历字符串,返回结果字符
int main()
{
String s(string("adsfadf"));
string result = s.CharDelete('a');
printf("%s",result.c_str());
getchar();
}
代码如下:
#include <string>
using namespace std;
class String
{
private:
string m_data;
public:
String(string data) : m_data(data)
{
}
string CharDelete(char c);
}; // 定义了String类
string String::CharDelete(char c)
{
string resultString;
string::iterator iter = m_data.begin();
while(iter!=m_data.end())
{
char curChar = *iter;
if (curChar != c)
{
resultString.append(1,curChar);
}
iter++;
}
return resultString;
} // 通过枚举器遍历字符串,返回结果字符
int main()
{
String s(string("adsfadf"));
string result = s.CharDelete('a');
printf("%s",result.c_str());
getchar();
}
展开全部
有个笨点的算法,就是新建一个字符串stri = “”;然后用一个循环把元字符串遍历,如果不是要删除的字符,就添加到stri中;是的话就continue;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
……sorry不会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询