C语言如何实现删除字符串中的字符

作者&投稿:童季 (若有异议请与网页底部的电邮联系)
C语言-删除字符串中指定的字符~

利用C语言删除字符串中所有指定的字符方法如下:
1.基本方法是,编写函数fun:deletechar()。这个函数需要接受两个参数的传入,一个为该字符串str,另一个为想删除的字符c。通过对整个字符串的逐个遍历,凡是检测到字符为c,则删除此字符。具体实现代码如下:

2.在主函数,只需要接受用户输入的字符串,然后调用deletechar()函数,最后输出结果即可。主函数代码实现部分如下:

扩展资料:
1.remove()是C语言中的函数,一般作用是删除数组、链表对象所有的元素。函数原型是

2.remove()函数用于删除指定的文件,其原型如下:

参考资料:remove()函数-百度百科

1、其实头函数每个都需要用到的就是#include ,因为程序里面涉及到了输出和输入字符串以及字符。#include 。

2、其次就是要定义两个相同容量的字符串储存的变量 char a[100]; char b[100];。以及整数变量 int c; int i=0,j=0; 其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是你想删除第几位。j ,i 是后面for循坏中要使用到的变量。

3、 printf("请输入你的字符串"); scanf("%s",a); printf("请输入你想要删除第几位字符"); scanf("%d",&c)。

4、 for(i=0;i<strlen(a);i++) { if(i+1!=c) { b[j]=a[i]; j++; } } printf(" %s",b); } 。

5、只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。

6、最后就给大家完整的看一下整体的一个代码流程。

C语言删除字符串中指定字符可以参考下面的代码:

#include<stdio.h>

int main

{

char * fun(char * s);

char arg[] = "hello.cgi?name1=value1&name2=value2";

printf("This value :%s
",fun(arg));

getchar();

return 0;

}

char * fun(char * s)

{

char *s1 = s; //s1指向字符串首地址

while ((*s != '?') && (*s != 0)) //字符不为结束符或者不为?,指向下一个字符

s++;

*s = 0; //将这个字符置为结束符

return s1;

};

扩展资料:

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

C语言ldiv()函数:求两个数的商和余数(针对long类型)

C语言ceil()函数:求不小于x的最小整数(向上取整)

C语言floor()函数:求不大于x的最大整数(向下取整)

double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数

double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数

参考资料来源:百度百科-C语言函数

参考资料来源:百度百科-c语言



字符串其实是一个数组。你把后面的abcd依次移到****位置上。然后让字符串结束就好了。
符串或串(String)是由零个或多个字符组成的有限序列。一般记为 s='a1a2???an'(n>=0)。它是编程语言中表示文本的数据类型。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
[编辑本段]字符串函数

1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,L) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5. 求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7. 字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
8. 数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9. 数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数
例:val(‘1234’,x,I);结果 x:=1234

利用指针对字符串进行字符串数据重新组织,可以很方便的完成删除指针字符。参考代码如下:

#include <stdio.h>
void del_chr( char *s, char ch )
{
    char *t=s; //目标指针先指向原串头
    while( *s != '\0' ) //遍历字符串s
    {
        if ( *s != ch ) //如果当前字符不是要删除的,则保存到目标串中
            *t++=*s;
        s++ ; //检查下一个字符
    }
    *t='\0'; //置目标串结束符。
}
void main()
{
    char str[]="***abcde***fghi***" ;
    del_chr(str, '*' );
    printf("str=【%s】
", str );
}


利用指针对字符串进行字符串数据重新组织,可以很方便的完成删除指针字符。参考代码如下:
#include <stdio.h>
void del_chr( char *s, char ch )
{
char *t=s; //目标指针先指向原串头
while( *s != '\0' ) //遍历字符串s
{
if ( *s != ch ) //如果当前字符不是要删除的,则保存到目标串中
*t++=*s;
s++ ; //检查下一个字符
}
*t='\0'; //置目标串结束符。
}
void main()
{
char str[]="***abcde***fghi***" ;
del_chr(str, '*' );
printf("str=【%s】\n", str );
}

在你的delchar()函数里面,进行覆盖那里应该改成
*p
=
*(p+1)
如果是*p
=
*p
+
1结果是
先取出
p指向的内存中的字符,然后该字符加1之后再赋值给p所指向的内存。
列入
*p
=
a;
那*p
=
*p
+1
结果是
*p
=
b;
而*p
=
*(p
+
1)
是p指针先指向p前面的一个内存单元,再用*取出该内存单元的值,然后赋值给
p
所指向的内存单元
*p


怎样用c语言编写一个程序,实现查找一个字符串中的特定字符,并将其删...
\\x0d\\x0afor(int k =0 ; k<5;k++)\\x0d\\x0a{\\x0d\\x0a if(chr[k]!="c")\\x0d\\x0achrNew[m] = chr[k];\\x0d\\x0am++;\\x0d\\x0a}\\x0d\\x0a此时获得的chrNew就是新的删除之后的字符串了\\x0d\\x0a基本类型中不支持删除操作,所以实际上就是一个新的字符串。

C语言,利用指针编写程序:删除一个字符串中的某一个字符
=a[i]; j++; } } printf(" %s",b); } 。5、只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。6、最后就给大家完整的看一下整体的一个代码流程。

C语言中如何删除已经输出的一个字符?
文本模式下指定位置输出 用""覆盖掉 gotoxy(1,1);printf("1230123");gotoxy(7,1);printf("");例:include<stdio.h> intmain(void){ printf("123");printf("\\b%c\\b",32);\/*注意这里*\/ return0;}

用C语言,将字符串str中的所有字符k 删除
include <stdio.h> int main(){ char str[80]="iam a kingdem";puts(str);int i, j = 0;for(i=0; str[i]; i++)if(str[i]!='k'){ str[j] = str[i];j++;} str[j] = '\\0';puts(str);return 0;}

易语言删除文本中的文字
可以用“子文本替换()”这个命令试一下,没有看到原文本不知道这个命令能不能达到楼主想要的结果,能发上来一段文本最好了。 望采纳!

C语言中如何删除已经输出的一串字符
include<stdio.h>int main(){printf("hello world");printf("\\rGood evening!");\/\/\\r使光标回到行首,再输出新的文字,或用空格进行覆盖。若已换行就不能用此法,只能清屏了return 0;}

怎么在c语言字符数组中删除一个字符?
字符数组中删除指定字符的方法:输入一个字符串,以回车结束输入指定字符定义一个遍历字符串的下标变量和一个新的字符串下标变量循环遍历字符串,如果当前字符与指定字符不同,则将当前字符写入新下标位置,新下标+1(相同则不处理)遍历下标+1检测下一个遇到字符串结束符,结束循环循环结束后,新下标位置...

怎样让C语言编程删除个字,重新写不会把下一个字覆盖
兄弟,你不小心把编辑格式换成了覆盖,在键盘上点击以下 Insert就好了

c语言字符数组中删除一个字符
字符数组中删除指定字符的方法:输入一个字符串,以回车结束输入指定字符定义一个遍历字符串的下标变量和一个新的字符串下标变量循环遍历字符串,如果当前字符与指定字符不同,则将当前字符写入新下标位置,新下标+1(相同则不处理)遍历下标+1检测下一个遇到字符串结束符,结束循环循环结束后,新下标位置...

易语言如何删除指定TXT的文字。
带图给你 .版本 2 .程序集 窗口程序集1 .子程序 _按钮1_被单击 .局部变量 分割后, 文本型, , "0".局部变量 n, 整数型 .局部变量 a, 整数型 .局部变量 s, 文本型 编辑框3.内容 = “”分割后 = 分割文本 (编辑框1.内容, #换行符, ).计次循环首 (取数组成员数 (分割后), n)...

德安县13261578189: C语言“在字符串中删除指定的字符”?怎么编写程序 -
泷敬替波: 从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可.以下为具体的实现方法: #include<stdio.h> int main() { char str[100],c; int j,k; printf("please input a string:"); gets(str); printf("\...

德安县13261578189: C语言删除字符串中的指定字符 -
泷敬替波: for(j=i;p[j];j++)p[j]=p[j+1]; 后面加上一句 i--;

德安县13261578189: C语言 - 删除字符串中的字符. -
泷敬替波: c语言中书写删除字符串中某个字符的程序的具体操作步骤如下: 1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“. 2、定义两个相同容量的字符串储存的变量 char a【100】; char b【100】.以及整数变量 int c;int i=0,j...

德安县13261578189: C语言删除字符串中字符的算法
泷敬替波: 方法1:把要删除的字符后面的字符依次前移一位覆盖前面的字符即可. 方法2:建立另一个字符数组,将要删除的字符之后的字符复制到这个新数组,然后再将新数组中的字符复制到原数组中从要删除的字符开始的位置即可.

德安县13261578189: c语言 删除字符串中的一个字符 -
泷敬替波: #include "stdio.h" main() {char a[50],ch; int i,j; printf("输入字符串:"); scanf("%s",a); fflush(stdin); printf("输入要删的字符:"); scanf("%c",&ch); for(i=0,j=0;i

德安县13261578189: C语言如何实现删除字符串中的字符 -
泷敬替波: 字符串其实是一个数组.你把后面的abcd依次移到****位置上.然后让字符串结束就好了.符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2???an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操...

德安县13261578189: C语言编程:删除字符串中指定的字符
泷敬替波: #include <stdio.h> #include <string.h> void main() { char s1[100],s2[100]; int i,j,k; char temp; printf("Please input 2 string:\n"); gets(s1); gets(s2); for(i=0;i<strlen(s2);i++) { temp=s2[i]; j=0; while(s1[j]!='\0') { if(s1[j]==temp) { k=j; while(s1[k]!='\0') { s1[k]...

德安县13261578189: C语言 删除用户输入的一个字符串中的指定字符 -
泷敬替波: 用字符串的替换语句CString str("ok,.dkfjd"); str.Replace("ok",""); 把ok替换为空,即删除指定字符串.函数第一个参数是指定删除字符串,第二个是替换后的字符串

德安县13261578189: 删除字符串中某个指定字符,用C语言 -
泷敬替波: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include <stdio.h> intmain() { chars[]="abcabcbc"; inti,j; for( i=0,j=0;s[i]!='\0';i++ ) {if( s[i]!='c') //删除串中的c字符s[j++]=s[i] ; } s[j]=0; //字符串结束符 printf("result:%s\n", s ); return0; }

德安县13261578189: C语言字符串中删除指定字符 -
泷敬替波: //在你的原程序上修改,注意加注释的地方 #include#include //这个头文件可以不用了 void deletechar(char *s,char c) //delete是保留字,改名为deletechar {int i,j; for(i=0;s[i]!='\0';) {if(s[i]==c) //只是两个字符的比较,不需要strcmp函数for(j=i;s[j]!='\0';...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网