您的位置:首页 > 职场人生

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

2014-12-31 18:58 423 查看
//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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: