Shammer's Philosophy

My private adversaria

文字列の連結-malloc_20101101

文字列の引数を2つ受け取って、それを連結したものを返す、というだけのシンプルな関数。これだけの関数なら普通に標準関数でありそうだが、探しても完全に期待通りのものはないので自作。といっても、文字列の連結 - Shammerismの処理を関数にしただけ。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char * concat_string(char * v1, char * v2){
    int v1length = strlen(v1);
    int v2length = strlen(v2);
    int length = v1length + v2length;
    char * value = (char *)malloc(length);
    memset(value, 0, sizeof(value));
    int cursole;
    for( cursole = 0 ; cursole < v1length ; cursole++ ){
	value[cursole] = v1[cursole];
    }
    for(  ; cursole < length ; cursole++ ){
	value[cursole] = v2[cursole - v1length];
    }
    value[length] = '\0';
    return value;
}

呼出は以下のようにする。

int main(int argc, char * args[]){
    printf("%s\n", concat_string(args[1], args[2]));
    return 0;
}

実行例。

$ ./a.out ABC 123
ABC123
$