我的最新版

2019-12-08  本文已影响0人  1墨家巨子
typedef unsigned long int size_c;
typedef struct {
    char *src;
    char *dest;
}test;
size_c my_strlen(const char *s){
    int size;
    if(s==NULL){return 0;}
    for(size=0;*s!='\0';s++,size++);
    return size;
}
char *my_strcpy(char dest[],const char *src){
    int src_len,dest_len;
    src_len=my_strlen(src);
    dest_len=my_strlen(dest);
    if(src_len > dest_len){ return NULL; }
    char *temp;
    temp=dest;
    while(*src!='\0'){
        *dest=*src;
        dest++;
        src++;
    }
    *dest='\0';
    return temp;    
}
int mys_trcmp(char *str1,char *str2){
    int str1_len,str2_len;
    str1_len=my_strlen(str1);
    str2_len=my_strlen(str2);
    if(str1_len < str2_len){ return -1; }
    else if(str1_len > str2_len){ return 1; }
    else{
        while(*str1 != '\0'){
        if(*str1 < *str2){ return -1; }
        if(*str1 > *str2){ return 1;}
        str1++;
        str2++;
        }
        return 0;
    }
}
char *my_strcat(char dest[],const char *src){
    int i,dest_len; 
    dest_len=my_strlen(dest);
    
    i=dest_len;
    while(*src!='\0'){
        dest[i]=*src;
        src++;
        i++;
    }
    dest[i]='\0';
    return dest;    
}
//查找字符
char *my_strchr(char *dest,char src){ 
    int dest_len;   
    dest_len=my_strlen(dest);
    while(*dest!='\0'){
        if(*dest==src){
            return dest;
        }
        dest++;
    }
    return NULL;        
}
//查找子串
char *my_strstr(char *dest,char *src){ 
    int src_len,dest_len;
    src_len=my_strlen(src);
    dest_len=my_strlen(dest);
    if(src_len > dest_len){ return NULL; }
    char *temp=NULL;
    char *p=dest;
    char *q=src;
    while(*p!='\0'){
        if(*p == *q){
            temp=p;//记录子串首字母在目的串的位置
            while(*q!='\0'){//检查是否是完整子串
                if(*p != *q){ q=src; break;}
                q++;
                p++;
        }
    }
        p++;    
}
    return temp;        
}
上一篇下一篇

猜你喜欢

热点阅读