#include <iostream>
#include <string>
#include <string.h>
#define RAW_STR "Lorem ipsum dolor sit amet, consectetur adipiscing elit"
#define FROM_STR "dolor"
void c_str()
{
char src[] = RAW_STR;
auto from = strstr(src, FROM_STR);
size_t count = strlen(from);
char *dest = new char[count];
strncpy(dest, from, count);
std::cout << "c_str: " << dest << std::endl;
delete[] dest;
}
void cpp_string()
{
auto src = std::string(RAW_STR);
auto from = src.find(FROM_STR);
std::string dest = src.substr(from);
std::cout << "cpp_string: " << dest << std::endl;
}
int main()
{
c_str();
cpp_string();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3RyaW5nLmg+CgojZGVmaW5lIFJBV19TVFIgIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQiCiNkZWZpbmUgRlJPTV9TVFIgImRvbG9yIgoKdm9pZCBjX3N0cigpCnsKICBjaGFyIHNyY1tdID0gUkFXX1NUUjsKICBhdXRvIGZyb20gPSBzdHJzdHIoc3JjLCBGUk9NX1NUUik7CiAgc2l6ZV90IGNvdW50ID0gc3RybGVuKGZyb20pOwogIGNoYXIgKmRlc3QgPSBuZXcgY2hhcltjb3VudF07CiAgc3RybmNweShkZXN0LCBmcm9tLCBjb3VudCk7ICAgCiAgc3RkOjpjb3V0IDw8ICJjX3N0cjogIiA8PCBkZXN0IDw8IHN0ZDo6ZW5kbDsKICBkZWxldGVbXSBkZXN0Owp9Cgp2b2lkIGNwcF9zdHJpbmcoKQp7CiAgICBhdXRvIHNyYyA9IHN0ZDo6c3RyaW5nKFJBV19TVFIpOwogICAgYXV0byBmcm9tID0gc3JjLmZpbmQoRlJPTV9TVFIpOwogICAgc3RkOjpzdHJpbmcgZGVzdCA9IHNyYy5zdWJzdHIoZnJvbSk7CiAgICBzdGQ6OmNvdXQgPDwgImNwcF9zdHJpbmc6ICIgPDwgZGVzdCA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkKewogIGNfc3RyKCk7CiAgY3BwX3N0cmluZygpOwp9Cg==