笔试面试中关于库函数实现的总结

来源:互联网 发布:淘宝隐形降权怎样恢复 编辑:程序博客网 时间:2024/06/09 15:21
//strcpy()函数的使用char *strcpy(char *dest,const char *src){    assert(dest != NULL && src != NULL);    char *temp = dest;    while ((*temp++ = *src++) != '\0');    return dest;}
//strncpy()函数的使用char *strncpy(char *dest,const char *src,unsigned int n){    assert(dest != NULL && src != NULL);    char *temp = dest;    while (n-- && (*temp++ = *src++) != '\0');        *temp = '\0';    return dest;}
//strcmp()函数的使用int strcmp(const char *s,const char *t){    assert(s != NULL && t != NULL);    while (*s && *t && *s == *t){        ++s;++t;    }    return (*s - *t);}
//strcat()函数的使用char *strcat(char *dest,const char*src){    assert(dest != NULL && src != NULL);    char *temp = dest;    while(*temp != '\0')        ++temp;    while((*temp++ = *src++)!='\0');    return dest;}
//strlen()函数的使用int strlen(const char *str){    assert(str != NULL);    int len = 0;    while(*str++ != '\0')        len++;    return len;}
//memset()函数的使用void *memset(void *str,int c,unsigned int n){    assert(str != NULL);    void *s = str;    while (n--){        *(char *)s = (char)c;        s = (char *)s + 1;    }    return str;}
//memcpy()函数的使用  不知道指针的类型,不能自增void *memcpy(void *dest,void *src,int n){    void *temp = dest;    int i = 0;    while (i < n){        *((char *)temp + i) = *((char *)src + i);        i++;    }    return dest;}

1 0
原创粉丝点击