字符串截取函数
转载: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++)='\0'; /*有必要吗?很有必要*/ 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++)='\0'; return dst; }