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++)='\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;
}



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM