文字列の連結-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 $