c++编程:从字符串中删除指定的字符

编写函数fun( ),该函数功能是从字符串中删除指定的字符,同一字母的大小写按不同的字符处理。 例如:执行时输入的字符串是 turbo c and borland c++,从键盘上输入字符n,则输出为 turbo c ad borlad c++. 如果输入的字符在字符串中不存在,则原样输出。仅在函数fun的花括号中填入所编写的语句.
#include<iostream.h>
using namespace std;
void fun(char s[],int c)
{
}
int main()
{
static char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:“;
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}

我对这些都是一片茫然的,知道的麻烦教我一下~非常感谢!!

#include<iostream>

#include<string.h>

usingnamespacestd;

intmain(){

strings="-daas-j--kdj-al-";

string::iteratorit;

for(it=s.begin();it!=s.end();it++)

if(*it=='-'){

s.erase(it);

it--;

}

cout<<s<<endl;

return0;

}

扩展资料

C++从string中删除一个字符

#include<iostream>

#include<string>

#include<stdlib.h>

usingnamespacestd;

intmain()

{

stringstr="abddghj";

string::iteratorit;//指向string类的迭代器。你可以理解为指针

for(it=str.begin();*it!='';it++)

{

if(*it=='d')

{

str.erase(it);//删除it处的一个字符

break;

}

}

cout<<str<<endl;

system("pause");

return0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
原始字符串:
turbo c and borland c++
输入一个字符:c
str=turbo and borland ++
Press any key to continue

这就是你写的定义 ? void fun(char s[],int c) 第二个参数是 int?! 哎 无语 谁知道你还把哪里写错着

#include<iostream>
using namespace std;

void *fun(char * const str,const char ch) //从str字符串删除所有的todel字符,返回处理后的字符串地址
{
int i,j;
for (i = 0; str[i];) {
if (str[i]==ch) {
for (j=i; str[j]; j++) {
str[j]=str[j+1];
}
}
else i++;
}
return str;
}

int main()
{
static char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:";
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}本回答被提问者采纳
第2个回答  2011-06-17
char *fun( char s[] , const char ch )
{
int len = strlen ( s ) , j = 0 , k = 0/*新字符串的下标*/ ;
for (j = 0 ; j < len ; j++)
{
if (s [ j ] == ch ) continue;
s [ k++ ] = s[ j ];
}
s [ k++] = '\0';

return s;/*设置一个返回值有益于函数的链式表达*/
}
第3个回答  2011-06-17
#include<iostream>
#include<string>
using namespace std;
void fun(char s[],char c)
{
for (int i=0;i<strlen(s);)
{
if (s[i]==c)
{
s[i]=s[i+1];//将目标字符的后一个字符前移 就覆盖了目标字符
}
else
{
++i;
}
}
}
int main()
{
const int n=1000;//为要输入的turbo c and borland c++字符串提供足够大的空间
static char str[n];
gets(str); //char 是C风格的字符串所以用gets函数来输入包括空格在内的字符串
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符:";
cin>>ch;
fun(str,ch);
cout<<"str="<<str<<endl;
return 0;
}
第4个回答  2011-06-17
#include<iostream>
using namespace std;
void fun(char s[],char c)
{
int len=sizeof(s);
for(int i=0;i<len;i++)
{
if(s[i]==c)
{
for(int j=i;j<len;j++)
{
s[j]=s[j+1];
}
i--;
}
}

cout<<s<<endl;
}
int main()
{
char str[]="turbo c and borland c++";
char ch;
cout<<"原始字符串:\n"<<str<<endl;
cout<<"输入一个字符: ";
cin>>ch;
fun(str,ch);
cout<<str<<endl;
return 0;
}

如何在c++的字符串中删除某个字符串?
1:遍历找到需要的字符;2:如果找到字符的话那么就调用move_t()函数用来将这个字符后的字符往前一个来达到删除该字符的效果 例如:include<cstring> intmain(){ chars1[]="Thisstringisusedfortestingstrstr()function";chars2[]="usedfor";char*s3;s3=strstr(s1,s2);intp1=s3-s1;strcpy(s1+p1...

c++如何在字符串中删除指定的字符
c++要在字符串中删除指定的字符,只要把除了指定字符以外的,其他字符都复制一遍,就可以实现指定的目标。设字符数组s中已有字符串,ch是要删除的字符,以下是实现这一功能的代码段:for(i=j=0;s[i];i++)if(s[i]!=ch)s[j++]=s[i];s[j++]='\\0';puts(s);

C++删除字符串中指定字符串的方法
\/\/ 在主程序中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中 \/\/ 所有的c字符,然后输出删除后的字符串。\/\/例 如:输入字符a和字符串li wang zha jin xiao,输出:li wng zh jin xio。\/\/提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。inclu...

C++编写程序,将某一指定字符从一个已知的字符串中删除
include<string> include<cctype> using namespace std;int main(){ string s, result_str;bool has_alpha=false;char ch,cc;cout<<"Enter a string:"<<endl;getline(cin,s);for(string::size_type index=0;index!=s.size();++index){ ch=s[index];cc=s[1]; \/\/指定的已知字母 if...

C++ 删除字符串中指定位子 或者指定字符或字符串的函数
C++中的string类中有erase成员函数,其功能是删除字符串中的字符或字符串。C++中字符串删除函数为 std::string::erase 有三种形式:sequence string& erase (size_t pos = 0, size_t len = npos);character iterator erase (iterator p);range iterator erase (iterator first, iterator last);...

C++将某一指定字符从一个已知的字符串中删除!
程序我运行过,可以运行但是有一些瑕疵,你的要求是“将某一指定字符从一个已知的字符串中删除”,但这个程序的缺点在于它会删除全部的指定字符,如你输入“good”,然后再输入“o”,结果是“gd”,这显然与删除一个指定字符的要求不符合。下面是对你问题的解答:1.字符串的删除函数中,if语句之后*q...

用C语言在字符串中删除指定的字符。
include "stdio.h"include <string.h> int main(){ char a[50],ch;int i,j;printf("输入字符串:");scanf("%s",a);fflush(stdin);printf("输入要删的字符:");scanf("%c",&ch);for(i=0,j=0;i<strlen(a);i++)if(a[i]!=ch)a[j++]=a[i];a[j]='\\0';puts(a);retur...

c++程序设计 由键盘任意输入一个字符串和任一个字符,要求从该字符串中...
void del(char *ch,char c);main(){ char a[100],c;printf("input a string:\\n");gets(a);printf("input a char:");scanf("%c",&c);del(a,c);puts(a);getch();} void del(char *s,char c){ int i=0,j=0;for(;s[i]!='\\0';i++)if(s[i]!=c)s[j++]=s[i]...

删除符号(c++介绍_删除符号(c++是什么
在C++中,删除特定字符的操作可以通过两种方法实现。首先,我们可以采用逐字符扫描的方式,如在字符串"hiia"中移除't', 'e', 's',这需要从头开始遍历原字符串,遇到要删除的字符就跳过。这种方法的伪代码如下:cpp void remove_chars1(char str[], const char remove[]){ assert(str && remove)...

c语言编写函数,将一个字符串str中指定的字符ch删去,函数原型是void del...
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、定义变量:#include <stdio.h>void main(){ char c1,c2,c3; \/*定义字符变量*\/。3、输入一个字符:printf("输入一个字符,使用getche函数接收\\n"); \/*提示用户输入一个字符*\/ c1=getche(); \/*使用getche()函数接收...

相似回答