#include <cstring>
#include <iostream>
char *str_cat(char *destination, const char *source) {
size_t dest_len = strlen(destination);
memcpy(destination + dest_len, source, strlen(source) + 1);
return destination;
}
int main() {
char str[80] = {"these "};
str_cat(str, "strings ");
str_cat(str, "are ");
str_cat(str, "concatenated.");
std::cout << str << std::endl;
}
I2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmNoYXIgKnN0cl9jYXQoY2hhciAqZGVzdGluYXRpb24sIGNvbnN0IGNoYXIgKnNvdXJjZSkgewogIHNpemVfdCBkZXN0X2xlbiA9IHN0cmxlbihkZXN0aW5hdGlvbik7CiAgbWVtY3B5KGRlc3RpbmF0aW9uICsgZGVzdF9sZW4sIHNvdXJjZSwgc3RybGVuKHNvdXJjZSkgKyAxKTsKICByZXR1cm4gZGVzdGluYXRpb247Cn0KCmludCBtYWluKCkgewogIGNoYXIgc3RyWzgwXSA9IHsidGhlc2UgIn07CiAgc3RyX2NhdChzdHIsICJzdHJpbmdzICIpOwogIHN0cl9jYXQoc3RyLCAiYXJlICIpOwogIHN0cl9jYXQoc3RyLCAiY29uY2F0ZW5hdGVkLiIpOwogIHN0ZDo6Y291dCA8PCBzdHIgPDwgc3RkOjplbmRsOwp9Cg==