利用指针编写一个函数:

来源:百度知道 编辑:UC知道 时间:2024/05/04 10:50:50
void substr(char *s,char *t,int start, int count)
它将指针s所指的字符串中第start个字符开始的count个字符组成的子字符串复制成指针t所指的字符串(若start的值超过了字符串s的长度,则复制的子字符串为空串;从start到s的末尾的字符不足count个,则只复制从start到末尾的字符所组成的子字符串)。再在main()函数中以不同的实际字符串作为实际参数调用substr()以验证其正确性。例如:
char *s="123456789abcdefg";
求第5个字符开始的7个字符组成的子字符串为:”56789ab”,又如,求第9个字符开始的12个字符组成的子字符串为:”9abcdefg”。

#include <string.h>
#include <stdio.h>

void substr(char *s,char *t,int start, int count)
{

int i = 0;
if (s==0 || t==0)
return;// 空指针不作处理
for (i=0;*s!=0&&i<start-1;i++,s++);
for (i=0;(*(t+i)=*s++)&&i<count;i++);
if (i==count)
t[count]=0;
}

main()
{
char t[64];
char *s="123456789abcdefg";
substr(s,t,5,7);
printf("%s\n",t);
substr(s,t,9,12);
printf("%s\n",t);
}