c文字列切り取り

1169 ワード

    #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;  
    }