1. 程式人生 > >C語言實現字符串截取函數left、mid和right

C語言實現字符串截取函數left、mid和right

popu pan con 結束 一個 spa 時代 span while

作者: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;
}


C語言實現字符串截取函數left、mid和right