对于指定的字符串复制其中从m到n的多个字符组成一个新串
时间: 2024-06-13 14:09:40 浏览: 84
以下是两个C语言的例子,可以复制指定字符串中从m到n的多个字符组成一个新串:
1. 引用:
```c
#include<stdio.h>
#include<string.h>
#define n 100
void fun(char *p,int m,int n) {
char *q;
char s[n]={0};
int i;
int t;
q=s;
t=strlen(p);
memcpy(q,p+m-1,n-m+1); //将p中从第m到n的字符全部复制到q字符指针中
printf("%s",s);
}
int main() {
char s[n];
int m,n;
printf("请输入一个字符串\n");
gets(s);
printf("请输入一个M值\n");
scanf("%d",&m);
printf("请输入一个N值\n");
scanf("%d",&n);
fun(s,m,n);
return 0;
}
```
2. 引用:
```c
#include <stdio.h>
#include <string.h>
void copystr(char *p1,char *p2,int m,int n){
//字符串部分复制函数
int i=0;
while(i<n-m+1){
*(p2+i)=*(p1+m-1+i);
i++;
}
*(p2+i)='\0';
}
int main(){
int m,n;
char str1[20],str2[20];
printf("请输入一个字符串:");
gets(str1);
printf("从第几个字符开始复制?");
scanf("%d",&m);
printf("复制几个字符?");
scanf("%d",&n);
if(strlen(str1)<m+n-1)
printf("输入错误!");
else{
copystr(str1,str2,m,n);
printf("新的字符串为:%s",str2);
}
return 0;
}
```
阅读全文