设计函数DeleteStr(char *s,int start,int num=-1),将字符串s中从第start个字符开始的num个字符全部删除 定义函数“char *cut(char *s,int m,i...

作者&投稿:标阅 (若有异议请与网页底部的电邮联系)
以下代码供参考:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*删除字符串s中指定位置start之后的num个字符,如果num为-1,则删除后面所有字符*/
int DeleteStr(char *s,int start,int num=-1)
{
char *p;
int len;
if(start<0 || s==NULL || (len=strlen(s))< start )return -1;
p=s+start;
if((num == -1) || (len < start+num))
{
*p = '\0';
return len-start;;
}
else
{
memcpy(p,p+num,num);
*(p+num+1)='\0';
return num;
}
}

int main()
{
char a[10]="abcdefghi";
printf("原始字符串: %s",a);
DeleteStr(a,5,3);
printf("\n第一次删除: %s",a);
DeleteStr(a,3,-1);
printf("\n第二次删除: %s",a);

return 0;
}

设计函数delete(str,strart,number)在字符串str中从start开始删除number个字符~

#include#includedelete(char s[],int i,int n){if(i>=0&&n>0&&n+i<strlen(s)){strcpy(s+i,s+i+n);return 1;}else return 0;}int main(){ int start,number;char s[300];fgets(s,300,stdin); scanf("%d%d",&start,&number); delete(s,start,number); puts(s); return 0;}

char *cut(char *s,int m,int n){ char *r = (char*)malloc(n+1); int i; for(i = m; i<m+n; i ++) r[i-m] = s[i]; r[n] = 0; return r;}

要求定义和调用函数delchar(s,c),该函数的功能是将字符串s中出现的所...
答:include <stdio.h>#include <string.h>void delchar(char *s,char c);int main(){ char s[100],c,*p=s; printf("输入一个字符串(小于100个字符):"); scanf("%s",s); getchar(); printf("输入要删除的字符:"); scanf("%c",&c); delchar(p,c); p...

c语言 这是什么意思,我连意思都看不懂
答:void delete_string(char str[],char ch)//定义一个函数,函数的名字是“delete_string”,它带有两个参数:一个是str[],它是一个字符串变量;另一个是ch,是一个字符变量。{int i,j;//从这一句开始进入函数内部。这一句是声明两个整形数字变量i和j(后面要用到)。for(i=j=0;str[i]!...

void delete _string(char str[],char ch) { int i,j; for()i=j=0...
答:{ int i,j;for(i=j=0;str[i]!='\0';i++)if(str[i]!=ch)str[j++]=str[i];str[j]='\0';} 实际上是通过两个下标来完成的,你可以看到 i 和 j 都是从0开始的,if(str[i]!=ch)str[j++]=str[i];如果str[i]!=ch的话执行str[j++]=str[i];这等价于str[j]=str[i]...

#include<stdio.h> void delete_string(char str[],char ch) { int...
答:这个程序的功能就是把一个字符串中的ch字符删除,实现的方法就是当发现ch字符的时候把字符串后面剩下的部分全都前移一个字符。这个程序其实就等同于下面这个程序 void delete_string(char str[],char ch){ int i,j;char *s=str;for(i=j=0;str[i]!='\0';i++)if(str[i]!=ch)s[j++]...

C语言删除字符串中指定字符的方法有哪些?
答:// 上面定义的 deleteChar 函数 int main() { char str[100];char c;// 提示用户输入字符串 printf("请输入一个字符串:");fgets(str, sizeof(str), stdin);// 提示用户输入要删除的字符 printf("请输入要删除的字符:");scanf("%c", &c);// 调用 deleteChar 函数 deleteChar(str...

C语言:编写一个函数,接受一个字符串和一个字符
答:1、可以写一个函数接受一个字符串和一个字符,如果此字符出现在字符串中,就将串中的字符删除,要求删除该字符后,后续的字符向前移,以填充该空位。2、例程:include<stdio.h>#include<string.h>#define MAX 80void Delete(char str[],char c){int i;int l=strlen(str);for(i=0;i<l;i+...

c语言如何提取包含特定内容的所有行
答:char *str,char ch1,char ch2){int i;for(i=0;i<strlen(str);i++){if(str[i]==ch1){str[i]=ch2;}}}void deletestr(char*str,char ch){int i;for(i=0;i<strlen(str);i++){if(str[i]==ch){str[i]='\0';}}}int main(){ifstream input("1.dat");ofstream output(...

...char[4]; ch="123"; CString str=ch; delete ch; 这样对str有没有影...
答:首先想问下楼主的代码能不能正确执行?当ch=“123”这样赋值时,delete []ch(不应该是delete ch)是会出错的,楼主可以一试。其实在调试的时候执行到CString str = ch时用F11跟进去就可以找到源代码了,通过观察,它采用的重新申请内存并复制到新内存中的方式赋值的,所以应该没有影响。至于ch="123...

TrimLeft()函数原型
答:其次,CString类提供了更具体的TrimLeft()方法,它接受一个TCHAR类型的参数chTarget。当你想要移除字符串左边特定的字符时,可以使用这个版本。例如,如果你想移除所有逗号(', '),可以这样调用:`CString str; str.TrimLeft(',');`。最后,还有一个接受LPCTSTR类型的lpszTargets版本。LPCTSTR是一个C++...

C语言编程。函数Delete()
答:void delete_student(student *L,long studentnum){ int flag = 0;student * p = L,*q = p->next;while(q){ if(q->number == studentnum){ flag = 1;q = q->next;break;} else { p = q;q = q->next; /*下一个结点*/ } } if(flag == 0)printf("删除学生失败,不...