您的位置:首页 > 其它

利用指针函数编写一个求子字符串的函数

2014-07-21 11:53 330 查看
#include<stdio.h>

#include<string.h>

#include<malloc.h>

//定义一个指针型函数substr

char *substr(char *dest,char *src,int begin,int len)

{

int srclen=strlen(src); //取源字符串长度

if(begin>srclen||!srclen||begin<0||len<0)

dest[0]='\0'; //当取子串的开始位置超过源串长度,或源串长度为0,或开始位置和子串的长度为从开始位置

//子串长度为非法(小于0)时,目标串置为空串

else

{

if(!len||(begin+len)>srclen)

len=srclen-begin+1; //当字符串长度为0或开始位置加字串长度大于源长度时,调整子串为从开始位置到源

//串结束的所有字符

memmove(dest,src+begin-1,len); //调用库函数memmove将子串从源串中移到目标串中

dest[len]='\0';

}

return dest;

}

void main()

{

char *dest;

char src[]="C Programming Languege";

if((dest=(char *)malloc(80))==NULL)

{

printf("no memory\n");

exit(1);

}

printf("%s\n",substr(dest,src,15,4));

printf("%s\n",substr(dest,src,15,0));

free(dest);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐