永发信息网

C语言(不是C++)中如何从指定字符串中提取指定开始位置到指定结束位置的一个子串给数组?

答案:2  悬赏:80  手机版
解决时间 2021-03-28 19:28
  • 提问者网友:孤山下
  • 2021-03-28 05:27
C语言(不是C++)中如何从指定字符串中提取指定开始位置到指定结束位置的一个子串给数组?
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-03-28 06:53
给你写一个简单的吧,写得复杂了,也不好,上次给你写的一个,采用了一些特殊方法,还不如直接写的,晕!

学程序,关键是学方法!

void substr(char *str1,char *str2,int start,int end)
{
int ii;
for (ii=start;ii<=end;ii++)
str1[ii-start]=str2[start-1];
str1[ii-start]='\0';
}

main()
{

char str1[30]="dwew13lkoilesiwokdwok";
char str2[50]="e22dww_dwoiewolksdjfmmm"

char str[50];

substr(str,str1,1,10);
printf("1--%s\n",str);

substr(str,str2,3,18);
printf("2--%s\n",str);

}
全部回答
  • 1楼网友:痴妹与他
  • 2021-03-28 07:03
1 #include
2
3 char *sub_str(int start,int end,char *str)
4 {
5 char *sub = NULL;
6 int i = 0;
7 int j = 0;
8 sub = (char *)malloc(end-start);
9 if(NULL == str)
10 return NULL;
11 for(i = start;i 12 {
13 sub[j++] = str[i];
14 }
15
16 sub[end-start]='\0';
17
18 return sub;
19
20 }
21
22 int main ()
23 {
24 char str1[30]="dwew13lkoilesiwokdwok";
25
26 char *sub = NULL;
27
28 sub = sub_str(0,10,str1);
29
30 printf("%s\n",sub);
31
32 return 0;
33 }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯