急 c++ 截取字符串(函数) 求代码
编写一个函数intsubstr(charstr1[],charstr2[],intindex),其作用是,将从字符串str1(长度超过30)的第index个字符开始的所有...
编写一个函数int substr(char str1[],char str2[],int index),其作用是,将从字符串str1 (长度超过30) 的第index个字符开始的所有字符复制,生成新的字符串str2,如果成功生成,函数返回1,如果不能成功生成,返回0
Input
测试数据的组数n
第一组数据
第二组数据
........
Output
成功生成就输出子串,不成功生成,输出"IndexError" 展开
Input
测试数据的组数n
第一组数据
第二组数据
........
Output
成功生成就输出子串,不成功生成,输出"IndexError" 展开
1个回答
展开全部
int substr(char str1[],char str2[],int index)
{
int i=0,len1=0,len2=0;
len1=sizeof(str1);
len2=sizeof(str2);
if(len1-index>len2 || index>len1 || index<0 || len1==0 || len2==0)
return 0;
for(i=index-1;i<len1;i++)
str2[i-index+1]=str1[i];
return 1;
}
void main()
{
char a[35]="a0dbdcgadcbeaf",b[35];
int flag=0;
flag=substr(a,b,5);
if(flag==1)
printf("%s\n",b);
else
printf("IndexError\n");
}
{
int i=0,len1=0,len2=0;
len1=sizeof(str1);
len2=sizeof(str2);
if(len1-index>len2 || index>len1 || index<0 || len1==0 || len2==0)
return 0;
for(i=index-1;i<len1;i++)
str2[i-index+1]=str1[i];
return 1;
}
void main()
{
char a[35]="a0dbdcgadcbeaf",b[35];
int flag=0;
flag=substr(a,b,5);
if(flag==1)
printf("%s\n",b);
else
printf("IndexError\n");
}
追问
头文件呢
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询