求关于串的操作的代码C/C++

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:15:38
要求:1. 编写一程序,实现从字符串s中,返回第I个字符开始,长度为len的子串(s,I,len都可以从键盘输入)

2. 完成两个字符串连接的操作(不要使用函数)。

回答的好还可以加分。在线等

帮你吧.
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
char *get(char *str,int l,int len);
char *paste(char *s1,char *s2);
void main(){
char string[1024];
int l,len;
cout<<"请输入字符串,开始字符,以及长度:\n";
cin>>string>>l>>len;
cout<<get(string,l,len)<<endl;
cout<<paste(string,get(string,l,len))<<endl;
system("pause");
}
char *get(char *str,int l,int len){
char *s=new char[len+1];
strncpy(s,str+l-1,len);
*(s+len)=0;
return s;
}
char *paste(char *s1,char *s2){
char *s=s1;
while(*s1)s1++;
while(*s2)*s1++=*s2++;
*s1=0;
return s;
}

1)编写程序,还是编写函数?
可以这么做:
s[l+len] = 0;

2)不使用函数?你是说用宏实现吗?
可以这么做:

#define concatenate(a,b) (a##b)

都有系统函数的,还写什么