문제).
배열과 포인터를 활용하기 위하여 strcat(3)함수의 prototype과 기능을 확인한 후 포인터와 배열로 각각 구현하시오.

 

strcat(3)함수의 spec은

 

strcat(3) - 문자열을 뒤에 붙이기

strcat(3) #include char *strcat(char *dest, const char *src); dest문자열 뒤에 src문자열을 붙입니다. dest문자열의 0x00값에 src문자열의 시작 부분부터 0x00까지를 복사합니다. ※ 주의: strcat(3)은 buff..

www.it-note.kr

입니다.

 

 

포인터로 구현 할 때에는

char *strcat_ptr(char *dest, const char *src); 의 이름으로 구현을 하고,

배열로 구현 할 때에는

char *strcat_arr(char *dest, const char *src); 의 이름으로 구현을 하시오.

 

 

 


답은 아래에... ↓

 

 

 

 

 

 


 

 

 

 

스스로 풀어보시고... ↓

 

 

 

 

 


 

 

 

 

 

아래 답과 비교해보세요. ↓

 

 

 

 

 

 


포인터로 구현하기

char *strcat_ptr(char *dest, const char *src)
{
    char *tmp = dest;
    
    while(*tmp) {
        tmp++;
    }
    while(*src) {
        *tmp++ = *src++;
    }
    *tmp = 0x00;
    
    return dest;
}

 

배열로 구현하기

char *strcat_arr(char *dest, const char *src)
{
    int i, j;
    
    for(i = 0; dest[i] ; i++);
    
    for(j = 0; src[j] ; i++, j++) {
        dest[i] = src[j];
    }
    dest[i] = 0x00;
    
    return dest;
}

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

Tag

댓글을 달아 주세요