char *bgn = str.begin();
int len = std::max(str.length(), sizeof(hairetu) - 1);
std::copy(bgn, bgn + len, hairetu);
hairetu[len] = '\0';