Кажется, я действительно опаздываю на вечеринку - не могу поверить, что об этом спросили 7 лет назад!
Вот мой взгляд на проблему. Я работаю над проектом, и я не хотел сейчас сталкиваться с проблемой использования Boost.
std::string trim(std::string str) {
if(str.length() == 0) return str;
int beg = 0, end = str.length() - 1;
while (str[beg] == ' ') {
beg++;
}
while (str[end] == ' ') {
end--;
}
return str.substr(beg, end - beg + 1);
}
Это решение будет обрезаться слева и справа.