C语言里的库函数(持续更新)

来源:互联网 发布:seo综合查询 编辑:程序博客网 时间:2024/06/06 13:15

strcpy函数

char* strcpy(char *dest,const char *src) {        assert(dest!=NULL&&src!=NULL);        char *res=dest;        while(*dest++=*src++)            continue;        return res;}

strcmp函数

int strcmp(const char *cs, const char *ct){        while(*cs==*ct){            if(*cs=='\0')                return 0;            ++cs;            ++ct;        }        return *cs-*ct;}


strncmp函数

int strcmp(const char *cs, const char *ct,size_t n){        if(!n)            return 0;        while(--n&&*cs==*ct){            if(*cs=='\0')                return 0;            ++cs;            ++ct;        }        return *cs-*ct;}


strlen函数

int strlen(const char *src){    int n=0;    while(*src++)        ++n;    return n;    }


strcat函数

char *strcat(char *str1,char *str2){    char *res=str1;    while(*str1)        ++str1;    while(*str1++=*str2++)        continue;    return res;    }

strncpy函数

char *strncpy(char *dest,const char *src,size_t n){    if(!n)         return dest;    char *res=dest;         while(--n&&*dest++=*src++)        continue;    return res;    }

memset函数

void *memset(void *buf,int c,size_t n){        assert(buf!=NULL)        char *tmp=(char*)buf;        while(n-->0)            *tmp++=(char)c;        return buf;    }

memmove函数

void *memmove(void *dst, const void *src, size_t len)  {      if(NULL == dst || NULL == src){          return NULL;      }      void *ret = dst;         if( dst <= src || (char *)dst >= (char *)src + len){          //从低地址开始复制          while(len--){              *(char *)dst = *(char *)src;              dst = (char *)dst + 1;              src = (char *)src + 1;          }      }else{          //从高地址开始复制          src = (char *)src + len - 1;          dst = (char *)dst + len - 1;          while(len--){              *(char *)dst = *(char *)src;              dst = (char *)dst - 1;              src = (char *)src - 1;          }      }      return ret;  }  


0 0
原创粉丝点击