اگر هر 2 تا رشته + null رو می خوای به هم وصل کنی یک راه خوب و سریعش استفاده از memcpy هستش
char str1[] = {'A','B','C', 0, 'D', 'E'};
char str2[] = {'F','G', 0, 'H', 'I'};
int str1_size=sizeof(str1)/sizeof(char);
int str2_size=sizeof(str2)/sizeof(char);
char *res = new char[str1_size+str2_size];
memcpy(res,str1,str1_size);
memcpy(res+str1_size,str2,str2_size);
ولی خب از سوالتون مشخصه که null ها رو نمی خوای اضافه کنی اگر این طوریه که یک for بزار و دونه دونه کاراکتر ها رو کپی کن .
جالا چرا از std::string استفاده نمی کنی ؟