string trim(string &s) {
if (s.length() == 0) return s;
size_t beg = s.find_first_not_of(" \a\b\f\n\r\t\v");
size_t end = s.find_last_not_of(" \a\b\f\n\r\t\v");
if (beg == string::npos) return "";
return string(s, beg, end - beg + 1);
}
来自 《C++编程思想》第二版, P71