https://www.cnblogs.com/zhchoutai/p/7170505.html
C语言字符串截取须要自己编程实现,只是。网络时代,自然不用自己从头写了。网上各种方法的实现代码已经多如牛毛了,这儿抄录一个感觉不错的备案。
#include <stdio.h>
#include <string.h>
/*从字符串的左边截取n个字符*/
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;
}
/*从字符串的中间截取n个字符*/
// 修改版
char * mid( char *dst, char *src, int n, int m ) /*n为长度,m为位置*/
{
char *p = src;
char *q = dst;
int len = strlen( src );
if( m < 0 || m >= len || n < 1 ) return NULL;
len -= m;
if( n > len ) n = len;
p += m;
while( n-- ) *( q++ ) = *( p++ );
*( q++ ) = '\0'; /*有必要吗?非常有必要*/
return dst;
}
/*从字符串的右边截取n个字符*/
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); /*从右边第n个字符開始。到0结束,非常巧啊*/
while(*(q++) = *(p++));
return dst;
}