본문 바로가기

Native/C++

[String]dstr_cat함수의 구현

[String]dstr_cat함수의 구현
dstr_cat: 동적으로 두 스트링을 결합해준다.

gcc ver: 2.95.4
os; linux
compile: gcc -o test test.c
require memory free: yes

[code]
#include <stdio.h>
#include <malloc.h>

int dstr_cat(char *,char *,char **);

int main(int argc,char **argv){

    char *src="This is";
    char *dest=" Sample";
    char *ret;

    dstr_cat(src,dest,&ret);

    printf("%s\n",ret);
    free(ret);

    return 0;

}

int dstr_cat(char *src,char *dest,char **ret){

    int src_len=0;
    int dest_len=0;

    src_len=strlen(src);
    dest_len=strlen(dest);

    if(((*ret)=(char *)malloc(sizeof(char)*(src_len+dest_len)+1))==NULL) return 1;
    memset((*ret),0x0,sizeof(char)*(src_len+dest_len)+1);
    memmove((*ret),src,src_len);
    memmove((*ret)+src_len,dest,dest_len);

    return 0;

}
[/code]

'Native > C++' 카테고리의 다른 글

[Array]array_push_str함수의 구현  (0) 2013.10.02
[Array]array_push_chr함수의 구현  (0) 2013.10.02
[File]getline함수의 구현  (0) 2013.10.02
[String]str_repeat함수의 구현  (0) 2013.10.02
[String]strtoupper함수의 구현  (0) 2013.10.02