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

作者: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++)=''; /*有必要吗?非常有必要*/
    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++)=''; /*有必要吗?非常有必要*/
    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;
}


原文地址:https://www.cnblogs.com/zhchoutai/p/7170505.html