C -- 截取字符串

来源:互联网 发布:招商招利宝货币a 知乎 编辑:程序博客网 时间:2024/06/11 09:56

/**   substring.C -- 截取字符串 */
#include "stdio.h"
#include "conio.h"
/*从左边开始截取字符串 */
char *left(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len;
while(n--) *(q++)=*(p++);
*(q++)='/0';
return dst;
}
/* 从右边开始截取*/
char *right(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len;
p+=(len-n);
while(*(q++)=*(p++));
return dst;
}
/*从中部截取字符串 */
char *mid(char *dst,char *src,int n,int m)
{
char *p=src;
char *q=dst;
int len=strlen(src);
if(n>len) n=len-m;
if(m>0) return NULL;
   p += m;
     while(n--) *(q++) = *(p++);
     *(q++)='/0';
     return dst;
}
char *substring(char *dst,char *src,int len,int start)
{
   char *p=dst;
   char *q=src;
   int length=strlen(src);
   if(start>=length||start<0) return NULL;
   if(len>length) len=length-start;
   q+=start;
   while(len--)
   {
     *(p++)=*(q++);
   }
   *(p++)='/0';
   return dst;
}
main()
{
     char *src="411524198510088017";
     char *year,*month,*day;
     int i;
     /* 截取年
     left(year,src,4,0);
     for(i=0;i<strlen(year);i++)
     {
     printf("%c",*(year+i));
     }
     printf("Hello, world/n");
     */
     substring(year,src,4,6);
     for(i=0;i<strlen(year);i++)
     {
     printf("%c",*(year+i));
     }
     getch();
}

原创粉丝点击