取子串操作:输入字符串、起始位置、字串长度,输出子串的内容。
这里使用最原始的方法,即一个字符一个字符的复制。
分析:
(1)读入所需参数:原字符串a,子串的起始位置start,子串的长度len。
(2)用字符串ans表示所求的子串。
(3)用循环变量i表示当前要复制原字符串中哪个字符。
(4)让i从start循环到start+len-1,把a[i]复制到ans[i-start]的位置上。
(5)由于ans的长度为len,所以最后让ans[len]=‘\0’,用空字符结尾。
C++代码实现如下:
#include<iostream>
#include<cstring>
using namespace std;
char *Substr(char *a,int strat,int len);
const int maxlen=100;//定义字符串最大长度
char *Substr(char *a,int start,int len){//取子串函数
char *ans=new char[maxlen];
for(int i=start;i<start+len;i++)
//把a中从start开始长度为len的这一段数组元素赋值到字符串ans中
ans[i-start]=a[i];
ans[len]='\0';
return ans;
}
int main(){
char a[maxlen];
int start,len;
cin>>a;//输入原字符串
cin>>start;//输入起始位置
cin>>len;//输入子串长度
cout<<Substr(a,start,len)<<endl;
return 0;
}