C 언어의 라 이브 러 리 함수 (계속 업데이트)

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

좋은 웹페이지 즐겨찾기