c++中怎么删掉字符串中的字符
5个回答
展开全部
貌似String类中有类似的方法剔除某字符串,不过我很久不用C++了忘记了=。=
给你些个算法吧:
//原来存储的字符串
String _strBuff="abceccecdf";
//处理后保存的字符串
String _str="";
for(int i=0;i<_strBuff.lengh;++i)
{
if(_strBuff[i]=='c')
{
}
else
{
_str.add(_strBuff[i]);
}
}
可能会有语法错误我这没有编译器,大概是这个意思拿去看看吧
给你些个算法吧:
//原来存储的字符串
String _strBuff="abceccecdf";
//处理后保存的字符串
String _str="";
for(int i=0;i<_strBuff.lengh;++i)
{
if(_strBuff[i]=='c')
{
}
else
{
_str.add(_strBuff[i]);
}
}
可能会有语法错误我这没有编译器,大概是这个意思拿去看看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void Remove(char str[],char remove[])
{
int src,dst,removearray[256];
for(src = 0 ; src <= 255; src ++)
{
removearray[src] = 0;
}
src = 0;
while(remove[src]){
removearray[remove[src]] = 1;
src ++;
}
src = dst = 0;
do
{
if(!removearray[str[src]])
str[dst++] = str[src];
}while(str[src++]);
}
void main()
{
char a[]="abceccecdf";
char b[]="c";
Remove(a,b);
cout<<a;
}
using namespace std;
void Remove(char str[],char remove[])
{
int src,dst,removearray[256];
for(src = 0 ; src <= 255; src ++)
{
removearray[src] = 0;
}
src = 0;
while(remove[src]){
removearray[remove[src]] = 1;
src ++;
}
src = dst = 0;
do
{
if(!removearray[str[src]])
str[dst++] = str[src];
}while(str[src++]);
}
void main()
{
char a[]="abceccecdf";
char b[]="c";
Remove(a,b);
cout<<a;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void Remove(char str[],char remove)
{
int t=0;
char* p=str;
while (*p) {
if (remove!=*p)
{ str[t]=*p;
t++;
}
p++;
}
str[t]='\0';
}
void main()
{
char a[]="abceccecdf";
char b='c';
Remove(a,b);
cout<<a;
}
using namespace std;
void Remove(char str[],char remove)
{
int t=0;
char* p=str;
while (*p) {
if (remove!=*p)
{ str[t]=*p;
t++;
}
p++;
}
str[t]='\0';
}
void main()
{
char a[]="abceccecdf";
char b='c';
Remove(a,b);
cout<<a;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c++ 的做法 :
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
template<class T>
struct eq
{
eq(T c_):c(c_){}
bool operator()(T & c_){return c==c_;}
T c;
};
int main()
{
string a = "abceccecdf";
cout << a << endl;
a.erase(remove_if(a.begin() , a.end() , eq<char>('c')) , a.end());
cout << a << endl;
return 0;
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
template<class T>
struct eq
{
eq(T c_):c(c_){}
bool operator()(T & c_){return c==c_;}
T c;
};
int main()
{
string a = "abceccecdf";
cout << a << endl;
a.erase(remove_if(a.begin() , a.end() , eq<char>('c')) , a.end());
cout << a << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询