字符串截取函数

转载:https://blog.csdn.net/qq_28877125/article/details/82861512

从左边开始截取:

char * left(char *dst,char *src, int n)  
{  
    char *p = src;  
    char *q = dst;  
    int len = strlen(src);  
    if(n>len) n = len;  
    while(n--) *(q++) = *(p++);  
    *(q++)=''; /*有必要吗?很有必要*/  
    return dst;  
}

调用方法:

uint8_t temp[200];
uint8_t  USART_RX_BUF[200];
 left((char *)temp,(char *)USART_RX_BUF, len);

从右边开始截取:

char *right(char *dst,char *src,int n)
{
    char *p=src;
    char *q=dst;
    int len=strlen(src);
    if(n>len) n=len;
    p+=(len-n);
    while(*(q++)=*(p++));
    return dst;
}

从中间截取:

char *substring(char *dst,char *src,int start,int len)
{  
    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++)='';  
    return dst;
}
原文地址:https://www.cnblogs.com/CaiFengYuanXing/p/13765699.html