您的位置:首页 > 编程语言 > C语言/C++

C语言实现字符串截取函数left、mid和right

2017-07-14 15:08 363 查看
作者:iamlaosong

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(n>len) n = len-m;    /*从第m个到最后*/
if(m<0) m=0;    /*从第一个開始*/
if(m>len) return NULL;
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: